lnlidawei

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

[web]  PHP之数据分页(数据库查询返回值分页显示)

 

 

 

一、环境

 

  --  os:  ubuntu2504

  --  server:  nginx  + php8.4 +  php8.4-fpm

 

 

 

二、源码

[wit@ubuntu:html]$ cat page.php 
<?php

  // page = page_index
  $page = max(1, $_GET['page']);

  // page_size:  how many datas in a page 
  $page_size = 10;

  // page_total: how many pages are needed for whole datas.
  $page_total = 13;


  // page_block_2:      display_items = 3
  $display_items = 3;


?>


<!doctype html>
<html>
<head>
<title>pagination</title>

<style>


  .page_block1, .page_block2 {}


  .point3 {
        color: blue;
}
  .pg li { 
                display:inline; 
                font-size: 2rem; 
                min-height:2vw; 
                min-width:2vw; 
                max-height:2vw; 
                max-width:2vw; 
                padding: 1vw 1vw; 
                background-color: lightgray; 
                border:1px solid blue;
                margin: 1vw 1vw;
        }

  .sp { max-height: 10vh; min-height: 10vh; }

  table { border-collapse: collapse; }

  table, th, td { border-bottom: 1px solid black; font-size: 2rem; padding: 0vw 5vw; }


</style>
</head>
<body>


<div class="sp"></div>


<div>
<div>
        <table>
        <?php
                for ($j=0; $j<$page_size; $j++) {
                  echo "<tr>";
                        for($k=0; $k<2; $k++) {
                                echo "<td> page_number($page)--($j:$k)</td>";
                        }
                  echo "</tr>";
                }
        ?>
        </table>
</div>
</div>



<div class="sp"></div>


<div>
<div class= "pg">
        <ul>
                <li>&lt;&lt;</li>

                <?php
                        for($i=2; $i<$page_total; $i++)
                        {
                          echo "<li><a href=\"?page=$i\">$i</a></li>";
                        }
                ?>

                <li><?php echo $page_total; ?></li>
                <li>&gt;&gt;</li>
        </ul>
</div>
</div>


<div class="sp"></div>


<div>
<div class="pg page_block2 ">

  <ul>

    <li>
      <a href="?page=<?php if ($page >= 2 && $page <= $page_total) { echo max(1, $page-1); } ?>">&lt;&lt;</a>
    </li>

    <?php
      // $display_items: how many pages are displayed.
      for($m=$page; $m<=$page+$display_items && $page + $display_item <= $page_total; $m++) {
        echo "<li><a href=\"?page=$m\">$m</a></li>";
      }
    ?>

    <li><span class="point3">...<span></li>

    <li><a href="?page=<?php echo $page_total; ?>"><?php echo $page_total; ?></a></li>

    <li>
        <a href="?page=<?php if($page>=1 && $page<=$page_total){ echo min($page_total, $page+1); } ?>">&gt;&gt;</a>
    </li>

  </ul>

</div>
</div>


<div class="sp"></div>


</body>
</html>




[wit@ubuntu:html]$ 

 

 

三、参考资料

 

  1.  无

 

posted on 2025-08-14 23:00  lnlidawei  阅读(6)  评论(0)    收藏  举报