doucang6739 2017-08-04 12:00
浏览 9
已采纳

在表PHP / MySQL中集成分页

I wrote this code:

<div class="container mx-auto">
<!--Add class table-responsive for responsive table -->
<table class="table mx-auto">
    <thead>
    <tr>
        <th>Name</th>
        <th>Surname</th>
        <th>Email</th>
        <th>Phone</th>
        <th>Address</th>
        <th>Zipcode</th>
        <th>City</th>
        <th>Company</th>


    </tr>
    </thead>
    <tbody>
    <ul class="pagination">
        <?php
        $page_max = 10;
        $entriesInDatabase = $database->getData("SELECT count(id) FROM customers");
        $numberOfPages = ceil($entriesInDatabase['count(id)']/$page_max);
        if(isset($_GET['page']) && $_GET['page']){

            $previous = $_GET['page'] - 1;
            if($previous = -1 ){
                $previous = 0;
            }
            if($previous = 0){
                echo '<li class="page-item"><a class="page-link" href="#">Previous</a></li>';
            }
            else{
                echo '<li class="page-item"><a class="page-link" href="?page='. $previous.'">Previous</a></li>';
            }
        }


        for($i = 0; $i < $numberOfPages; $i++){

            echo '<li class="page-item"><a class="page-link" href="?page='. $i . '">'. $i. '</a></li>';
        }
        $numberOfRecords = 10;
        if(isset($_GET['page'])) {
            $page = $_GET['page'];
            $start = $page * 10;
        }
        else{
            $page = 0;
            $start = $page * 10;

        }

        $customers = $database->getUsers("SELECT * FROM customers LIMIT $start, $numberOfRecords");

        ?>
        <li class="page-item"><a class="page-link" href="#">Next</a></li>
    </ul>
    <?php

    foreach($customers as $customer){
        $name = $customer ['name'];
        $surname = $customer['surname'];
        $email = $customer['email'];
        $phone = $customer['phone'];
        $address = $customer['address'];
        $zipcode = $customer['zipcode'];
        $city = $customer['city'];
        $company = $customer['company'];
        $id = $customer['id'];
        echo "<tr>
                <td>$name</td>
                <td>$surname</td>
                <td>$email</td>
                <td>$phone</td>
                <td>$address</td>
                <td>$zipcode</td>
                <td>$city</td>
                <td>$company</td>



              </tr>";
    }
    ?>
</tbody>
</table>
</div>

It's working except for the next button but I can fix that my own. I would like to know how I can use the pagination below the table. Now it's above the table, copy & pasting the code below the table doesn't work because the table with the customers is build before the variable customers is defined.

Could anyone help me achieve this?

  • 写回答

4条回答 默认 最新

  • dsiuy42084 2017-08-04 12:06
    关注

    You can simply put neccessary code for pagination at bottom

    <div class="container mx-auto">
    <!--Add class table-responsive for responsive table -->
    <table class="table mx-auto">
        <thead>
        <tr>
            <th>Name</th>
            <th>Surname</th>
            <th>Email</th>
            <th>Phone</th>
            <th>Address</th>
            <th>Zipcode</th>
            <th>City</th>
            <th>Company</th>
    
    
        </tr>
        </thead>
        <tbody>
    
            <?php
            $page_max = 10;
            $entriesInDatabase = $database->getData("SELECT count(id) FROM customers");
            $numberOfPages = ceil($entriesInDatabase['count(id)']/$page_max);
    
            $numberOfRecords = 10;
            if(isset($_GET['page'])) {
                $page = $_GET['page'];
                $start = $page * 10;
            }
            else{
                $page = 0;
                $start = $page * 10;
    
            }
    
            $customers = $database->getUsers("SELECT * FROM customers LIMIT $start, $numberOfRecords");
    
            ?>
            <li class="page-item"><a class="page-link" href="#">Next</a></li>
        </ul>
        <?php
    
        foreach($customers as $customer){
            $name = $customer ['name'];
            $surname = $customer['surname'];
            $email = $customer['email'];
            $phone = $customer['phone'];
            $address = $customer['address'];
            $zipcode = $customer['zipcode'];
            $city = $customer['city'];
            $company = $customer['company'];
            $id = $customer['id'];
            echo "<tr>
                    <td>$name</td>
                    <td>$surname</td>
                    <td>$email</td>
                    <td>$phone</td>
                    <td>$address</td>
                    <td>$zipcode</td>
                    <td>$city</td>
                    <td>$company</td>
    
    
    
                  </tr>";
        }
        ?>
    </tbody>
    </table>
    <ul class="pagination">
    <?php
    if(isset($_GET['page']) && $_GET['page']){
    
      $previous = $_GET['page'] - 1;
      if($previous = -1 ){
          $previous = 0;
      }
      if($previous = 0){
          echo '<li class="page-item"><a class="page-link" href="#">Previous</a></li>';
      }
      else{
          echo '<li class="page-item"><a class="page-link" href="?page='. $previous.'">Previous</a></li>';
      }
    }
    
    
    for($i = 0; $i < $numberOfPages; $i++){
    
      echo '<li class="page-item"><a class="page-link" href="?page='. $i . '">'. $i. '</a></li>';
    }
    ?>
    </ul>
    </div>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 angular开发过程中,想要读取模型文件,即图1的335行,会报404错误(如图2)。但我的springboot里配置了静态资源文件,如图3。且在该地址下我有模型文件如图4,请问该问题该如何解决呢?
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 vite打包后,页面出现h.createElement is not a function,但本地运行正常
  • ¥15 Java,消息推送配置
  • ¥15 Java计划序号重编制功能,此功能会对所有序号重新排序,排序后不改变前后置关系。
  • ¥15 关于哈夫曼树应用得到一些问题