[英]pagination using php
在以下代碼中,我試圖在一頁上顯示10個產品詳細信息,然后在下一頁上顯示其他產品詳細信息。 問題是當我單擊底部的第2頁鏈接時,出現錯誤消息“請選擇類別”。 請幫助我代碼中的問題出在哪里。
$SQLstring = "SELECT product_id FROM products LIMIT $offset,$rowsperpage";
echo "<table border='1' width=500 ><tr><th>Product ID</th>tr>";
while ($Row = mysqli_fetch_assoc($QueryResult))
{
$productid = $Row['product_id'];
echo "<tr><td>$productid</td></tr>";
}
echo "</table>";
$range = 3;
if ($currentpage > 1)
{
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=1'><<</a> ";
$prevpage = $currentpage - 1;
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$prevpage'><</a> ";
}
for ($x = ($currentpage - $range);$x < (($currentpage + $range) + 1); $x++)
{
if (($x > 0) && ($x <= $totalpages))
{
if ($x == $currentpage)
{
echo " [<b>$x</b>] ";
}
else
{
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$x'>$x</a> ";
}}}
mysqli_close($DBConnect);
}
您的問題是這樣的:
$category=$_POST["categor"];
有人單擊鏈接后, $_POST["categor"]
將為空。 嘗試$_REQUEST["categor"]
並創建如下鏈接:
echo " <a href='{$_SERVER['PHP_SELF']}?category=".$category."¤tpage=1'><<</a> ";
要么
echo " <a href='{$_SERVER['PHP_SELF']}?category=".$category."¤tpage=$prevpage'><</a> ";
這樣做可以使用POST和GET。
您生成的鏈接不包含類別。 因此,請確保在所有鏈接中都包含categor = $ category,如下所示:
echo " <a href='{$_SERVER['PHP_SELF']}?categor=$category¤tpage=...
編輯:然后,當其他人正確捕獲時,您需要將$ _POST更改為$ _REQUEST,這在您的代碼示例中已更改。
希望能有所幫助。
我想我看到了問題...
看起來您沒有將類別傳遞到下一頁,也許將$ _POST ['categor']存儲為會話變量,然后檢查該變量而不是$ _POST。
或者,將類別以及下一個頁碼附加到網址中
$cat = isset($_REQUEST['categor']) ? $_REQUEST['categor'] : "none";
if ($currentpage != $totalpages) {
$nextpage = $currentpage + 1;
echo " <a href='{$_SERVER['PHP_SELF']}?cat=$cat¤tpage=$nextpage'>></a> ";
echo " <a href='{$_SERVER['PHP_SELF']}?cat=$cat¤tpage=$totalpages'>>></a> ";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.