【发布时间】:2016-10-06 09:04:41
【问题描述】:
我想限制总页数中的页数。
- 示例:
1 2 3 4 5 6 >> out of 30 - 示例 2:
<< 5 6 7 8 9 10 >> out of 30
这是我的代码:
$page = !empty($_GET['page']) ? (int) $_GET['page'] : 1;
// records per page
$per_page = 5;
// total records in database
$total_count = Mp3_Model::count_all();
// instantating the $pagination
$pagination = new Pagination($page, $per_page, $total_count);
// find the records for this page
$sql = "SELECT * FROM mp3 ";
$sql .= " LIMIT {$per_page} ";
$sql .= " OFFSET {$pagination->offset()}";
$mp3s = Mp3_Model::find_by_sql($sql);
foreach ($mp3s as $mp3) {
echo $mp3->titlu;
}
这是分页:
<?php
if ($pagination->total_pages() > 1) {
if ($pagination->has_previous_page()) {
echo '<li><a href="?page=' . $pagination->previous_page() . '">«</a></li>';
}
for ($i = 1; $i <= $pagination->total_pages(); $i++) {
echo '<li';
if ($_GET['page'] == $i) {
echo ' class="active"';
}
echo '><a href="' . URL . 'mp3?page=' . $i . '">' . $i . '</a></li>';
}
if ($pagination->has_next_page()) {
echo '<li><a href="?page=' . $pagination->next_page() . '">» </a></li>';
}
}
?>
【问题讨论】:
-
如果这个问题是你自己解决的,请发表你自己对这个问题的答案,因为它可能对其他人有用。你想要的文字很简单,因为你已经有了答案你的代码!简单的答案是:
echo 'out of ' . $total_count; // total count is your last page...或者如果您想拥有一个可以解决问题的$var:$Out_Of = 'out of ' . $total_count; // Add this line below $total_count = Mp3_Model::count_all();我希望这能帮助您解决“30 岁以下”的问题。我会发布一个如果您回复问题但问题未解决,请回答问题...祝您好运! -
@jagb 请保留对必要的编辑。不要添加更多的感谢,因为无论如何这些通常都会被剥夺。另外,不要在问题中添加代码或示例,这可能会改变作者的意图。如果您想澄清,最好发表评论。不要把短句加长,因为这不利于可读性,事实上,它往往反而会伤害它。我强烈建议您继续编辑问题,因为这有助于使 SO 变得更好。
-
@EmileBergeron +1:对不起,我再也不会在问题中添加代码了……我知道如果需要的话最好写评论……
标签: php pagination limit