簡體   English   中英

使用php分頁

[英]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."&currentpage=1'><<</a> "; 

要么

echo " <a href='{$_SERVER['PHP_SELF']}?category=".$category."&currentpage=$prevpage'><</a> ";

這樣做可以使用POST和GET。

您生成的鏈接不包含類別。 因此,請確保在所有鏈接中都包含categor = $ category,如下所示:

echo " <a href='{$_SERVER['PHP_SELF']}?categor=$category&currentpage=...

編輯:然后,當其他人正確捕獲時,您需要將$ _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&currentpage=$nextpage'>></a> ";  
    echo " <a href='{$_SERVER['PHP_SELF']}?cat=$cat&currentpage=$totalpages'>>></a> ";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM