php分页代码不起作用

时间:2016-08-03 11:17:28

标签: php pagination

有谁能指出我为什么我的分页不起作用,我在这里做错了什么?在它上面工作了很长时间。我的网址生成如下:http://localhost/medapp/admin/medorder.php?page=%209

 <?php
   //pagination
    $perpage = 3;
    if (isset($_GET["page"])) {
        $page = $_GET["page"];
        }
        else {
          $page=1;
        }
    $start_from = ($page-1)*$perpage;
  //pagination

     $medorder = "SELECT * FROM `medorder` WHERE status='1'  order by ID desc";
     $result = $db->select($medorder);
      if($result){
         $i=0;
        while($row = $result->fetch_assoc()) {
        echo "<tr>";
          echo "<td>".$i++."</td>";
          echo "<td>".$row["uid"]."</td>";
          echo "<td>".$row["fullname"]."</td>"; 
          echo "</tr>";
       }
// pagination
    $query  = "select * from medorder";
    $result = $db->select($query);
    $total_rows = mysqli_num_rows($result);
    $total_pages = ceil($total_rows/$perpage); 
    echo "<span class='pagination'><a href='medorder.php?page=1'>".'First Page'."</a>";
    for ($i=1; $i <= $total_pages; $i++) { 
    echo "<a href='medorder.php?page=".$i."'>".$i."</a>";  }
    echo "<a href='medorder.php?page=$total_pages'>".'Last Page'."</a></span>";
                         //pagination
    }

  ?>

2 个答案:

答案 0 :(得分:2)

使用LIMIT和OFFSET

更改您的查询
$medorder = "SELECT * FROM `medorder` WHERE status='1'  order by ID desc LIMIT $start_from,$perpage"; //

答案 1 :(得分:1)

在以下行中,$ i变量前面有一个空格:

echo "<a href='medorder.php?page= ".$i."'>".$i."</a>";

应该是

echo "<a href='medorder.php?page=".$i."'>".$i."</a>";