2017-05-28 3 views
0

Der Umbruchcode funktioniert nicht richtig. Hier gibt $ query den richtigen Wert, indem es im Abfragefeld und $ per_page = 3 ausführt, $ page = 1 $ sub ist der Teil von $ query. Es wird keine Fehleranzeige angezeigt, die Seitenverknüpfung wird jedes Mal auf eine leere Seite gesendet.Seitennummerierung zeigt keine Daten von der zweiten Seite an

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; 
     } 
    ?> 

Antwort

0

Nur ein paar Fragen zu starten:

  • es ist definitiv nicht auf die zweite Seite gehen? Ie. Was ist der Link in der Adressleiste, wenn Sie auf die zweite Seite klicken?

  • Oder geht es auf die zweite Seite und zeigt keine Daten an?

  • Wenn es eine Wordpress-Site ist, könnten Sie Fehler in der WP-Config-Datei einschalten, um zu sehen, was los ist.

+0

Der Link lautet localhost/search.php? Page = 2 für die zweite Seite und so weiter für die weiteren Seiten Es wird auf die zweite Seite gehen, aber nicht Daten. Ich arbeite auf lokalen XAMPP-Server und versuchte es mit Firebug in Mozilla zu lösen, aber kein Fehler angezeigt. –