【发布时间】:2011-03-08 17:42:48
【问题描述】:
如何在不同页面显示sql查询?(使用php) 就像点击链接 1 时会出现 1-10 .. 2 是 11-20 等等..
【问题讨论】:
-
这叫做“分页”,见"pagination in php"和many others。
如何在不同页面显示sql查询?(使用php) 就像点击链接 1 时会出现 1-10 .. 2 是 11-20 等等..
【问题讨论】:
如果你看起来像这样:
如果您使用 mysql,您必须进行一些计算(最大页数、结果集的开始和结束),然后使用 LIMIT 子句。
【讨论】:
【讨论】:
“最简单”的方法是在查询中添加 LIMIT 子句并传入页码。 所以如果页码是 1(即默认或第一页)
$page = 1;
$query = "SELECT * FROM Product WHERE name LIKE 'John%' LIMIT ";
if($page == 1){
$query .= $recordsPerPage;
}
else{
$query .= ($recordsPerPage+1) ."," ($page-1 + $recordsPerPage);
}
您需要执行单独的查询以获取匹配记录的数量并将它们除以每页的记录。
对于流量不高的网站来说,这只是一种可接受的方法。 您可能不得不使用光标的高流量网站。
【讨论】:
我建议查看 MySQL 的 LIMIT 和 OFFSET。
还有一个简单的例子:
// parameters
$ipp = 10; # items per page
$page = $_GET['page']; # lets fetch page from clicked link
if(!$page){ $page = 1; } # default page to be used when none is given (to be used when we're at index.php
$offset = ($page - 1) * $ipp; # lets calculate result offset for current page
// query
$sql = "SELECT * FROM `table` LIMIT {$ipp} OFFSET {$offset};";
// add your desired result processing
此示例的链接很简单:index.php?page=1、index.php?page=2 等。
【讨论】: