我有分頁此代碼對我的PHP腳本錯誤分頁結果
<?php
session_start();
//Database stuff here
$image = $_SESSION['image'];
$cat = $_GET['cate'];
$pagenum = $_GET['pagenum'];
//PAGING BEGINS
if(!isset($pagenum)){
$pagenum = 1;
}
$data = mysql_query("SELECT * FROM tbl_product WHERE category = '$cat'");
$rows = mysql_num_rows($data);
$page_rows = 4;
$last = ceil($rows/$page_rows);
if($pagenum < 1)
$pagenum = 1;
elseif($pagenum > $last)
$pagenum = $last;
$max = 'limit '.($pagenum - 1) * $page_rows.','.$page_rows;
$data_p = mysql_query("SELECT * FROM tbl_product WHERE category = '$cat' $max");
while($row = mysql_fetch_array($data_p)) {
echo $row[1];
echo $row[2];
}
echo "<p>";
echo "--Page $pagenum of Last </p>";
if($pagenum == 1){
} else {
echo "<a href='{$_SERVER['PHP_SELF']}?pagenum=1'>First</a>";
echo "";
$previous = $pagenum - 1;
echo "<a href='{$_SERVER['PHP_SELF']}?pagenum=$previous'><-Previous</a>";
}
if($pagenum == $last){
} else {
$next = $pagenum + 1;
echo "<a href='{$_SERVER['PHP_SELF']}?pagenum=$next'>Next ->></a>";
echo "";
echo "<a href='{$_SERVER['PHP_SELF']}?pagenum=$last'>Last</a>";
}
?>
當我運行它,第一頁顯示有4個項目按規定,但是當我點擊「下一步」,在$頁次變量變爲0,導致極限範圍內的負值($ max),從而導致SQL錯誤。我不知道爲什麼。我已經嘗試了幾個分頁腳本,並以相同的錯誤結束。當我嘗試移動到下一頁時,$ pagenum變爲0。請問我的錯誤是什麼?由於
'$ rows'等於什麼?僅供參考,不應使用mysql_ *函數,並且容易受到SQL注入的影響。 – Pitchinnate
這真的是一段糟糕的代碼......即使這些日子,人們仍在開發... – shadyyx
@Pitchinnate $ rows = 15當我運行它時。但是當我點擊NEXT時變成0。 – dhani