Php 如何使用此分页代码获取页面上的项目数?
我用PHP和MySQL构建了一个成功的寻呼机,效果非常好。我的问题更像是一道数学题。我不会用所有的代码来烦扰你,让它简洁明了。我只是把要点贴出来让你理解 我试图显示每页的结果数: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
$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;
}
对使用三元串联给了我一个解析语法错误。你的编辑工作,这是正确的答案!我已经添加了一个额外的编辑,说明如何使用三元。是的。使用三元串联给了我一个解析语法错误。你的编辑工作,这是正确的答案!我已经添加了一个额外的编辑,说明如何使用三元。