[英]Pagination: Nothing appears on 2nd page
我以前在我的其他一些项目中使用过这种分页功能,它们似乎可以工作……但是现在我正在尝试这样做,它可以列出第1页上的所有内容,但是一旦我进入第2页,根本没有结果(即使数据库中有超过5行可用)
到了深夜,我可能失明了,但这确实令人不安。 关于它为何在第2页及以后的任何内容中都没有显示的任何线索?
<?php
// Prepare pagination
$getPage = $_GET["page"];
if(isset($getPage)) { $page = $getPage; } else { $page = 1; };
$start_from = ($page-1) * 20;
// Get articles
$Listquery = $LibraryArticle->mysqli->query("SELECT * FROM site_articles ORDER BY id DESC LIMIT $start_from, 5");
while($fetchlistquery = $Listquery->fetch_array()) {
$article_content = (strlen($fetchlistquery['article_desc']) > 244) ? substr($fetchlistquery['article_desc'],0,245).'...' : $fetchlistquery['article_desc'];
?>
<div id="news_container">
<img src="<?php echo $fetchlistquery["article_img"]; ?>" class="newsbox-style" />
<div class="news-title"><?php echo $fetchlistquery["article_title"]; ?></div>
<?php echo $article_content; ?>
<div class="read-more"><a href="">Read more</a> →</div>
<br style="clear: both;">
</div>
<?php
}
// Intiate pagination
$countarticles = $LibraryArticle->mysqli->query("SELECT COUNT(id) FROM site_articles");
$row = $countarticles->fetch_row();
$total_records = $row[0];
$total_pages = ceil($total_records / 5);
echo "<div style='float:right;'>";
for ($i = 1; $i <= $total_pages; $i++) {
echo "<a href='?page=".$i."'><div class='news-pagi'>".$i."</div></a>";
}
echo "</div>";
?>
我猜想这是一种测试数据库中只有几行的分页的快速mod,但是每页只显示5行,但是$start_from
却以$page * 20
递增
// Prepare pagination
$getPage = $_GET["page"];
if(isset($getPage)) { $page = $getPage; } else { $page = 1; };
$start_from = ($page-1) * 20; // <-- change to 5
// Get articles
$Listquery = $LibraryArticle->mysqli->query("SELECT *
FROM site_articles
ORDER BY id DESC
LIMIT $start_from, 5");
// or change LIMIT to 20
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.