微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于页面导航的if语句

如何解决用于页面导航的if语句

我试图找到一种显示页面导航的方法,但是仅当有30多个项目时才显示,因为1页的限制是最多30个项目。如果有30个以上的项目,则应显示到最多30个项目的下一个列表的页面导航,依此类推...(0-30、30-60、60-90 ...)

if($this->quantity_selected_rows >= $this->items_per_page && $this->quantity_total_rows > $this->items_per_page)
{show navigation}
else
{dont show navigation}

e.g. 
quantity_selected_rows = 30
items_per_page = 100
quantity_total_rows = 30

for clarity:

if(30>=30 && 100 > 30)
{show navigation}
else
{dont show navigation}

我的问题是,如果我过滤网格并准确地给了我30个过滤项目,它将根据我的陈述显示页面导航,这很糟糕。

有没有更好的方法来描述这一点?

谢谢!

解决方法

也许我弄错了,但是您只需要调整if条件:

30>=30的计算结果为true,这就是为什么过滤出30个项目的结果将显示页面导航(至少在您的示例中项目总数为100)

下面的代码执行以下操作:

如果您过滤的结果中有恰好 30 =>没有页面导航
如果过滤后的结果中少于 30 =>没有页面导航
如果您过滤的结果中有多于 30个=>显示页面导航

自从我假设:

如果过滤结果中有30个项目,则总项目必须 至少要30岁以上

您还可以缩短if条件:

if($selectedRows > $itemsPerPage) {
    //Show navigation
} else {
    //Don't show
}

必须更改您的变量以使其在代码段中可执行并且更易读。
您可以更改它以使用您的值而不是硬编码数字。

<?php

$selectedRows = 30;  //Result of filtering the grid
$itemsPerPage = 30;  //maximum amount of items per page
$totalRows    = 100; //Unfiltered grid

if($selectedRows > $itemsPerPage)
echo "Show navigation";
else
echo "Don't show navigation";

https://3v4l.org/rlHYV

请告诉我您是否需要。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。