Php 用于页面导航的If语句

Php 用于页面导航的If语句,php,if-statement,filter,navigation,compare,Php,If Statement,Filter,Navigation,Compare,我正在试图找到一种显示页面导航的方法,但仅当页面中的项目超过30个时,因为一个页面最多只能显示30个项目。如果有超过30个项目,它应该显示一个页面导航到下一个列表,最多有30个项目,依此类推…(0-30,30-60,60-90…) 我的问题是,如果我过滤我的网格,它会准确地给我30个过滤项目,它会根据我的声明显示页面导航,这是不好的 有没有更好的方法来描述这一点 谢谢 也许我搞错了,但您只需调整if条件: if($selectedRows > $itemsPerPage) { //

我正在试图找到一种显示页面导航的方法,但仅当页面中的项目超过30个时,因为一个页面最多只能显示30个项目。如果有超过30个项目,它应该显示一个页面导航到下一个列表,最多有30个项目,依此类推…(0-30,30-60,60-90…)

我的问题是,如果我过滤我的网格,它会准确地给我30个过滤项目,它会根据我的声明显示页面导航,这是不好的

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


谢谢

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

if($selectedRows > $itemsPerPage) {
    //Show navigation
} else {
    //Don't show
}
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";

谢谢你的回答!问题是一个页面最多有30个项目。因此,即使有超过30个项目,导航也不会显示。因此,对于您的示例if($selectedRows>$itemsPerPage){//Do something}它不会显示if($selectedRows>$itemsPerPage&&$totalRows>$itemsPerPage)的导航名称回显“显示导航”;否则回显“不显示导航”;澄清:如果(30>=30),则应显示导航。但是如果我过滤了网格,并且过滤了整整30个项目,那么导航应该不会显示。我希望你理解我的观点:P问题是过滤,得到了整整30个结果。对不起,我不明白。所以,
$selectedRows
不是过滤的结果吗?那么过滤在哪里发生呢?您也需要包含该代码。或者这种情况发生在前端,您需要javascript来隐藏导航。