-3

我是 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.

4

2 回答 2

1

您可以在查询字符串中使用一个参数来指示您正在查看的页面。

例如: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 来获取总行数。然后你必须计算你将显示多少页。

希望这可以帮助你

于 2012-12-08T12:11:01.973 回答
0

您只需要使偏移量动态化,因此第一页为 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");
于 2012-12-08T12:02:00.017 回答