Php 如何使用此分页代码获取页面上的项目数?

Php 如何使用此分页代码获取页面上的项目数?,php,mysql,math,pagination,Php,Mysql,Math,Pagination,我用PHP和MySQL构建了一个成功的寻呼机,效果非常好。我的问题更像是一道数学题。我不会用所有的代码来烦扰你,让它简洁明了。我只是把要点贴出来让你理解 我试图显示每页的结果数: $row_count = total rows from database $items_per_page = whatever number inserted here creates the total number of pages. Showing results '.$items_p

我用PHP和MySQL构建了一个成功的寻呼机,效果非常好。我的问题更像是一道数学题。我不会用所有的代码来烦扰你,让它简洁明了。我只是把要点贴出来让你理解

我试图显示每页的结果数:

    $row_count = total rows from database
    $items_per_page = whatever number inserted here creates the total number of pages.

    Showing results '.$items_per_page*$page.'/'.$row_count.'
上面的数学没有任何意义。如果表中有72行,并且每页显示50个项目,则会有2页。第一页有50项,第二页有22项。问题出现在它将显示的第二页:
显示结果100/72
。在第二页上,用户应看到显示结果72/72的


什么是数学/算法使这项工作?我敢肯定这真的很傻,但我无法理解。它将正确显示,直到最后一页,这是短得如此不正确

我会做一个if语句,然后在最后一页相应地减少


如果您可以共享更多代码,我可以编写代码来执行此操作

,它将正确显示,直到最后一页出现错误

我会做一个if语句,然后在最后一页相应地减少


如果您可以共享更多代码,我可以编写代码来执行此操作

您只需要计算整个页面,因此:

$displayed_items = ($row_count - $items_per_page*($page - 1)) > $items_per_page ? $items_per_page*$page : $row_count;
echo "Display results " . $displayed_items . "/" . $row_count;
实际上:

计算剩余的项目数,包括您正在显示的内容(因此$page-1)。第1页这将是72-0=72。Pg2这将是72-50=22

如果剩余的数字高于每页上显示的数字,则您只需拥有每页的#*项。对于第1页,72>50,所以显示50*1=50

如果剩余的行数低于每页显示的行数,则显示最后一行的行数(总行数)。对于第2页,22<50,因此显示72(总数)

编辑:因为您不想使用三元串联。您还可以将其拆分为if/else语句

if( $row_count - $items_per_page * ($page - 1) > $items_per_page ) {
   echo "Showing results " . $items_per_page * $page . "/" . $row_count;
} else {
   echo "Showing results " . $row_count . "/" . $row_count;
}

您只需要计算整页,因此:

$displayed_items = ($row_count - $items_per_page*($page - 1)) > $items_per_page ? $items_per_page*$page : $row_count;
echo "Display results " . $displayed_items . "/" . $row_count;
实际上:

计算剩余的项目数,包括您正在显示的内容(因此$page-1)。第1页这将是72-0=72。Pg2这将是72-50=22

如果剩余的数字高于每页上显示的数字,则您只需拥有每页的#*项。对于第1页,72>50,所以显示50*1=50

如果剩余的行数低于每页显示的行数,则显示最后一行的行数(总行数)。对于第2页,22<50,因此显示72(总数)

编辑:因为您不想使用三元串联。您还可以将其拆分为if/else语句

if( $row_count - $items_per_page * ($page - 1) > $items_per_page ) {
   echo "Showing results " . $items_per_page * $page . "/" . $row_count;
} else {
   echo "Showing results " . $row_count . "/" . $row_count;
}

对使用三元串联给了我一个解析语法错误。你的编辑工作,这是正确的答案!我已经添加了一个额外的编辑,说明如何使用三元。是的。使用三元串联给了我一个解析语法错误。你的编辑工作,这是正确的答案!我已经添加了一个额外的编辑,说明如何使用三元。