任何人都可以帮助我使用此代码吗?下一个和上一个链接不起作用
$limit=20;
mysql_connect("localhost","root","");
mysql_select_db("autoschool") or die("Unable to select database");
$query = "select * from student";
$numresults=mysql_query($query);
$numrows=mysql_num_rows($numresults);
if ($numrows == 0)
{
echo "empty";
}
if (empty($s)) {
$s=0;
}
$query .= " limit $s,$limit";
$result = mysql_query($query) or die("Couldn't execute query");
$count = 1 + $s ;
while ($row= mysql_fetch_array($result)) {
$title = $row["id"];
echo "$count.)$title"."
" ;
$count++ ;
}
$currPage = (($s/$limit) + 1);
echo "
";
if ($s>=1) { // bypass PREV link if s is 0
$prevs=($s-$limit);
print " <<
Prev 10  ";
}
$pages=intval($numrows/$limit);
if ($numrows%$limit) {
$pages++;
}
if (!((($s+$limit)/$limit)==$pages) && $pages!=1) {
$news=$s+$limit;
echo " Next 20 >>";
}
$a = $s + ($limit) ;
if ($a > $numrows) { $a = $numrows ; }
$b = $s + 1 ;
echo "
Showing results $b to $a of $numrows
";
天哪,从哪里开始?
首先,您一开始并没有处理
$s
,因此 LIMIT
语句将始终是 0,20
。
尝试类似:
if (isset ($_GET['page']) ){
$s=round($_GET['page'];
if($s<0) {
$s=0;
}
}
else {
$s=0;
}
...
$query .= " LIMIT ".($s*$limit).",$limit";
然后您需要添加上一个和下一个文本的链接:
if ($s>0) { // bypass PREV link if s is 0
echo '<a href="myscript.php?page='.($s-1).'">Prev </a>';
}
...
echo echo '<a href="myscript.php?page='.($s+1).'">Next </a>';
...
说实话,如果我是你我就会从头开始,代码很乱。 写伪代码先规划逻辑,再编码。
您的“下一个 20”和“上一个 10”只是文本显示。 它们一开始就不是链接。 此外,您无法处理输入。 看来您的示例不完整。