【发布时间】:2010-08-06 19:03:02
【问题描述】:
我的 PHP 分页有一个小问题,我有 6 条记录,一次显示 2 条,当我单击下一步时,它显示 2 到 4 条记录,效果很好,但要显示 4 到 6 条记录,这是行不通的。我不确定我做错了什么。有人有想法么 ?问题与要显示的下一条记录的计算有关
<?php
$per_page = 2;
$start = $_GET['start'];
$query = mysql_query("SELECT * FROM Directory");
$record_count = mysql_num_rows($query);
$record_count = round($record_count / $per_page);
if(!$start) {
$start = 0;
}
$query = mysql_query("SELECT * FROM Directory LIMIT $start,$per_page") or die(mysql_error());
$row = mysql_num_rows($query);
// Output Records here
// Setup next and previous button variables
$prev = $start - $per_page;
$next = $start + $per_page;
echo '<p> <h4>';
if($prev < 0) {
echo 'Previous';
} else {
echo '<a href="directory.php?start='.$prev.'>Previous</a>';
}
echo ' ' . $start . ' of ' . $record_count;
if($next < $record_count) {
echo ' <a href="directory.php?start='.$next.'>Next</a>';
} else {
echo ' Next';
}
echo '</h4> </p>';
?>
【问题讨论】:
-
您可以在gebsbo.limewebs.com/directory/directory.php 上测试发生了什么,因为我的解释能力不是那么好
-
执行第 4-6 行时会发生什么?导航到的 URL 是什么?
-
当我执行第 4-6 行时,它不允许我进入下一组也是最后一组记录
-
@Gebbo,如果问题已解决,请点赞并接受答案。
-
$start 应该是
$start = intval($_GET['start']);并且 $record_count 应该来自SELECT count(*) FROM Directory查询
标签: php mysql pagination