我是 PHP 新手,我想在页面中添加分页功能。
我有这段代码:
$result = mysql_query( "select title from post LIMIT 5 OFFSET 0");
while ($row = mysql_fetch_object($result)) {
echo $row->title;
}
我想每页只显示五个帖子标题。如果我想在这个页面上添加一个寻呼机,我该怎么做?例如:网址是example.com/post.html
.
我是 PHP 新手,我想在页面中添加分页功能。
我有这段代码:
$result = mysql_query( "select title from post LIMIT 5 OFFSET 0");
while ($row = mysql_fetch_object($result)) {
echo $row->title;
}
我想每页只显示五个帖子标题。如果我想在这个页面上添加一个寻呼机,我该怎么做?例如:网址是example.com/post.html
.
您可以在查询字符串中使用一个参数来指示您正在查看的页面。
例如:example.com/post.html?page=2 表示有人点击了指向第二页的链接。
然后在您的代码中,您可以执行以下操作:
$rowsPerPage = 5;
$page = isset($_GET['page']) ? $_GET['page'] : '0';
$index = $page * $rowsPerPage;
$result = mysql_query( 'select title from post LIMIT ' . $index . ', ' . $rowsPerPage);
while ($row = mysql_fetch_object($result)) {
echo $row->title;
}
您还需要获取您拥有的记录总数才能打印分页链接。您可以使用 SELECT COUNT(*) FROM POST 来获取总行数。然后你必须计算你将显示多少页。
希望这可以帮助你
您只需要使偏移量动态化,因此第一页为 0,第二页为 5,第三页为 10,依此类推。您可以使用 GET 协议在每次分页时将偏移量发送到 URL:
<a href="example.com/post.html?offset=0">1</a>
<a href="example.com/post.html?offset=5">2</a>
<a href="example.com/post.html?offset=10">3</a>
显然,您使用 for 循环动态生成分页链接,公式为 (OFFSET= (num_pag-1) * LIMIT)
那么你的PHP将是:
$offset = $_GET['offset'];
$result = mysql_query( "select title from post LIMIT 5 OFFSET $offset");