[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><<</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>>></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); } ?>"><<</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); } ?>">>></a>
</li>
</ul>
</div>
</div>
<div class="sp"></div>
</body>
</html>
[wit@ubuntu:html]$
三、参考资料
1. 无
本文由 lnlidawei 原创、整理、转载,本文来自于【博客园】; 整理和转载的文章版权归属【原创作者】; 转载或引用时【请保留文章的来源信息】:https://www.cnblogs.com/lnlidawei/p/19038721

浙公网安备 33010602011771号