【发布时间】:2021-08-31 12:48:42
【问题描述】:
我正在使用文本文件作为数据库而不是使用 mySQL 创建分页。已经完成了大部分,唯一的问题是页码本身。如何限制底部的最大页码?在我按最后一个页码后,还有什么要移动到下一组页面的吗?
是这样的PREV 1 2 3 4 5 NEXT
<?php
// connect to txt database
$file="database.txt";
$con = file_get_contents($file);
// define how many results you want per page
$results_per_page = 5;
// find out the number of results stored in database
$linecount = 0;
$handle = fopen($file, "r");
while(!feof($handle)){
$line = fgets($handle);
$linecount++;
}
fclose($handle);
$number_of_results = $linecount;
// determine number of total pages available
$number_of_pages = ceil($number_of_results/$results_per_page);
// determine which page number visitor is currently on
if (!isset($_GET['page'])) {
$page = 1;
} else {
$page = $_GET['page'];
}
// display the links to the pages
for ($page=1;$page<=5;$page++) {
echo '<a href="index.php?page=' . $page . '">' . $page . '</a> ';
}
?>
【问题讨论】:
-
是的,两者都可以。到目前为止,您尝试过什么?
-
在我的代码中,所有页码都会出现。例如,我有 10 页,它们都显示在 1 行中。有没有办法限制它们?
-
是的。这段代码是你写的吗?
$page<=$number_of_pages控制限制,所以你会想要做一些不同的事情。 -
该代码最初是基于从mySQL数据库中读取数据。我只是将其修改为读取文本文件而不是 mySQL。你能帮我解释一下逻辑吗?我想不通:/
-
如果您了解
for(a; b; c)中每个部分的作用,答案应该会更加明显。b部分应确保$page永远不会超过您想要的最大值。如果您尝试理解这一点并用您尝试过的内容更新您的问题,我会在这里提供帮助和回复。向我们展示没有的工作。到目前为止,我还没有看到任何尝试。
标签: php html pagination txt