請問這個分頁的邏輯是怎麼做的?

发布于 2022-09-11 15:33:53 字数 993 浏览 9 评论 0

這是我的邏輯:

$page = $_GET['page'];
    $page == '' ? $page = 1 : '';

    $page_size = $page_data['data_1'];
    $res = $pdo->query("SELECT * FROM `blog` ");
    $row_count = $res->num_rows;
    $page_num = ceil($row_count / $page_size);
    $offset = ($page - 1) * $page_size;

SQL

LIMIT $offset, $page_size

HTML

<?='<div class="page-layout">'; for($i=1;$i<=$page_num;$i++){?>
      <button class="pageBtn" <?=$page==$i ? 'disabled': '';?> onclick="location.href='?page=<?=$i;?>';"><?=$i;?></button>
    <?} echo '</div>';?>

目前總共 23頁,每頁會顯示10筆
但我發現 https://airbnb.com 的分頁挺奇妙的:

clipboard.png

所以我想問說他這個分頁邏輯是怎麼寫的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

遗失的美好 2022-09-18 15:33:53

显示首页、末页、当前页以及当前页的前后页;大于5页显示省略号

瑕疵 2022-09-18 15:33:53

这个其实最后一页面后台 分给你的,你只要显示出来而已,真正还是一页几条数据来做的

浅沫记忆 2022-09-18 15:33:53

分页的问题:需要约定好或者通过接口传递参数来限定每一页的数量总数,后台可以通过数据库查询指定分片的数据,或者一次取出做内存分页,方案都可,然后告知前端数据总量;
页码的思路,主要是分情况,根据当前页码、总页码,来控制展示,举个例子,当选中第一页时,如何展示,当前页码 >4时,左侧出现省略等等

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文