我有一个SQL查询,输出一堆符合特定条件的行。我正在尝试为此过程添加分页,以便使用更简单。添加PHP分页
我的过程是这样的:
- 图此页面的下限,弄清楚该网页的上限
- 拉(例如1 - - 20 21 40等。)从MySQL表
- 列表中的那些行
- 如果有超过20个,这些行添加
floor($totalRows/20)
页???- 分页
我分页似乎是工作半正常,但最后一页(不管它可能是)列出了比它应该行的数量少一个。这里是我的代码:
$page = $_GET["p"];
$bL = (($page - 1) * 20) + 1;
$tL = $page * 20;
$total = mysql_num_rows(mysql_query("SELECT id FROM coupons WHERE zone = '$zone' AND dateExp > CURDATE()"));
if($tL > $total)
{
$tL = (($page - 1) * 20) + ($total % 20);
}
$gotRows = "SELECT * FROM coupons WHERE zone = '$zone' AND dateExp > CURDATE() ORDER BY retailerName LIMIT " . $bL . ", " . $tL;
//list all those rows
$numPages = floor($total/20) + 1;
echo "<p id='results'>" . $total . " result" . $plural . " · Displaying " . $bL . " to " . $tL . " </p>";
echo "</table>";
$pG = 1;
while($pG <= $numPages)
{
if($pG == $page)
{
echo $pG;
}
else
{
echo "<a href='zone?z=" . $zone . "&p=" . $pG . "'>" . $pG . "</a>";
}
if($pG != $numPages)
{
echo "·";
}
$pG = $pG + 1;
}
任何帮助吗?
编辑:没关系,我解决了行问题。但是我的底部错误页面链接问题仍然存在。在第1页上,它工作正常 - “1”不是链接,“2”是。但是,在第2页上,链接仅显示“1”。 “2”不显示。
关于如何处理PHP/MySQL分页有很多问题..你有没有看过这些? – drudge 2011-03-04 19:22:25
现在分页工作正常 - 我只是想修复我的页面链接错误。 – AKor 2011-03-04 19:29:41