2017-05-28 111 views
0

分页代码无法正常工作。 在这里,$ query通过在查询框中运行给出正确的值,$ per_page = 3,$ page = 1 $ sub是$ query的一部分。 没有错误显示,页面链接每次发送到空白页面。分页不显示第二页以后的数据

function pagination($query,$per_page,$page,$sub, $url='?') 
    {   
    $servername = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $dbname = "project"; 
    $conn = mysqli_connect($servername, $username, $password, $dbname); 
    if (!$conn) 
    { 
     die("Connection failed: " . mysqli_connect_error()); 
    } 
      $subject=$sub; 
      $query = "SELECT COUNT(*) as `num` FROM {$query}"; 

      $x1 = mysqli_query($conn,$query); 
      $row = mysqli_fetch_array($x1,MYSQLI_ASSOC); 
      $total = $row['num']; 
      $adjacents = "2"; 

      //$page = ($page == 0 ? 1 : $page); 
      $page = isset($_GET['page']) ? max((int)$_GET['page'], 1) : 1; 
      $start = ($page - 1) * $per_page;        

      $prev = $page - 1;       
      $next = $page + 1; 
      $lastpage = ceil($total/$per_page); 
      $lpm1 = $lastpage - 1; 

      $pagination = ""; 
      if($lastpage > 1) 
      { 
       $pagination .= "<ul class='pagination'>"; 
         $pagination .= "<li class='details' style='margin-top:2px'>Page $page of $lastpage</li>"; 
       if ($lastpage < 7 + ($adjacents * 2)) 
       { 
        for ($counter = 1; $counter <= $lastpage; $counter++) 
        { 
         if ($counter == $page) 
          $pagination.= "<li><a class='current'>$counter</a></li>"; 
         else 
          $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";      
        } 
       } 
       elseif($lastpage > 5 + ($adjacents * 2)) 
       { 
        if($page < 1 + ($adjacents * 2))   
        { 
         for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++) 
         { 
          if ($counter == $page) 
           $pagination.= "<li><a class='current'>$counter</a></li>"; 
          else 
           $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";      
         } 
         $pagination.= "<li class='dot'>...</li>"; 
         $pagination.= "<li><a href='{$url}page=$lpm1'>$lpm1</a></li>"; 
         $pagination.= "<li><a href='{$url}page=$lastpage'>$lastpage</a></li>";  
        } 
        elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) 
        { 
         $pagination.= "<li><a href='{$url}page=1'>1</a></li>"; 
         $pagination.= "<li><a href='{$url}page=2'>2</a></li>"; 
         $pagination.= "<li class='dot'>...</li>"; 
         for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) 
         { 
          if ($counter == $page) 
           $pagination.= "<li><a class='current'>$counter</a></li>"; 
          else 
           $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";      
         } 
         $pagination.= "<li class='dot'>..</li>"; 
         $pagination.= "<li><a href='{$url}page=$lpm1'>$lpm1</a></li>"; 
         $pagination.= "<li><a href='{$url}page=$lastpage'>$lastpage</a></li>";  
        } 
        else 
        { 
         $pagination.= "<li><a href='{$url}page=1'>1</a></li>"; 
         $pagination.= "<li><a href='{$url}page=2'>2</a></li>"; 
         $pagination.= "<li class='dot'>..</li>"; 
         for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) 
         { 
          if ($counter == $page) 
           $pagination.= "<li><a class='current'>$counter</a></li>"; 
          else 
           $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";      
         } 
        } 
       } 

       if ($page < $counter - 1){ 
        $pagination.= "<li><a href='{$url}page=$next'>Next</a></li>"; 
        $pagination.= "<li><a href='{$url}page=$lastpage'>Last</a></li>"; 
       }else{ 
        $pagination.= "<li><a class='current'>Next</a></li>"; 
        $pagination.= "<li><a class='current'>Last</a></li>"; 
       } 
       $pagination.= "</ul>\n";  

      } 

      return $pagination; 
     } 
    ?> 

回答

0

只需几个问题开始:

  • 是绝对不会去第二页? IE浏览器。当您点击进入第二页时,地址栏中的链接是什么?

  • 或者它会进入第二页并且不显示任何数据?

  • 如果它是一个WordPress的网站,你可以打开wp-config文件中的错误,看看发生了什么。

+0

链接为localhost/search.php中?页= 2的第二页等等,因为这是要到第二页,但不显示数据进一步页 。 我正在使用本地xampp服务器,并尝试使用Mozilla中的Firebug解决它,但没有显示错误。 –