• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP结合MySQL实现原生分页

php 搞代码 3年前 (2022-01-22) 12次浏览 已收录 0个评论

在PHP开发中框架可见是运用的越来越广泛,框架用多了原生不练习渐渐的都会以往了,希望大家不要把基础的东西给以往哦!我们本篇文章讲的是PHP结合MySQL实现原生分页,而现在一般的框架都封装了分页类,不需要大家手动写。不过闲来无事的时候可以尝试着写一下,锻炼一下编写代码能力。

PHP+MYSQL分页主要是根据SQL语句中的limit实现的。

limit语句:

select * from table limit `limit`,`offset`;

可以将其中的limit看做是分页的页数,offset看做是每页显示的条数。
实现效果如图:

这里只是一个实例代码,主要实现分页功能,页面效果等相关没有特意调试。

主要实现功能有:首页、尾页、上一页、下一页、统计总页数、定位当前页、数字显示,最大四个,其余用…表示。

具体代码实现:
这里是使用PDO操作的数据库

<?phpheader("Content-type:text/html;charset=utf-8");// 1、传入页码 $page = $_GET['p'];// 2、根据页码取出数据$pdo = new PDO('mysql:host=localhost;dbname=ceshi','root','root');$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);$sql = 'SELECT * FROM `goods` LIMIT :start,:offset';$limit = ($page-1)*3;$offset = 3;$stmt = $pdo->prepare($sql);$sqlnum = 'SELECT COUNT(*)FROM `goods`';$stmtnum = $pdo->prepare($sqlnum);$stmtnum->execute();$num = $stmtnum->fetch(PDO::FETCH_ASSOC);$stmt->bindParam(':start',$limit);$stmt->bindParam(':offset',$offset);if(!$stmt->execute()){            throw new Exception('查找失败',1);        } $data = $stmt->fetchAll(PDO::FETCH_ASSOC);var_dump($data);// 3、显示数据+显示分页条/**总页数**/$end = floor($num['COUNT(*)']/$offset)+1;$page_banner ='<a href="'.$_SERVER['PHP_SELF'].'?p=1">&nbsp;&nbsp;&nbsp;首页</a>';if($page <=1){    $page_banner .= '<a style="color:#B8BBB3;">&nbsp;&nbsp;&nbsp;上一页</a>';}else{    $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($page -1).'">&nbsp;&nbsp;&nbsp;上一页</a>';}if($page+3>4){    $page_banner .= '...';}if(($page+4)>=$end){    $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end-3).'">&nbsp;&nbsp;&nbsp;'.($end-3).'</a>';    $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end-2).'">&nbsp;&nbsp;&nbsp;'.($end-2).'</a>';    $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end-1).'">&nbsp;&nbsp;&nbsp;'.($end-1).'</a>';    $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end).'">&nbsp;&nbsp;&nbsp;'.($end).'</a>';}else{    for($i=0;$i<4;$i++){    $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($page+$i).'">&nbsp;&nbsp;&nbsp;'.($page+$i).'</a>';    }}if(($page+4)<$end){    $page_banner .= '...';}if($page <=$num['COUNT(*)']/$offset){    $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($page +1).'">&nbsp;&nbsp;&nbsp;&nbsp;下一页</a>';}else{    $page_banner .='<a style="color:#B8BBB3;">&nbsp;&nbsp;&nbsp;下一页</a>';}$page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.$end.'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;尾页</a>';$page_banner .='<span>&nbsp;&a<a>本2文来*源gao($daima.com搞@代@#码(网</a><strong>搞gaodaima代码</strong>mp;nbsp;&nbsp;总共'.$end.'页</span>&nbsp;&nbsp;&nbsp;当前第<span>'.$page."页</span>";echo $page_banner;?>

大家可以在本地自己练习练习哦!不懂的更要多练习咯!这些原生基础的东西忘了到最后就很难再捡起来了!!

相关推荐:

php分页类的实现

今天就给大家分享一款好用好看的php分页类!

php分页的实现原理

今天就带大家来解析一下php分页的原理。

一款万能的php分页类实例代码

这篇文章主要介绍了万能的php分页类,特别好用,需要使用php分页类的朋友不要错过。

thinkphp分页实现效果

大量数据的显示就需要对内容进行分页,本文章就是就是介绍thinkphp分页进行整理,有需要的朋友一起来了解一下。

以上就是PHP结合MySQL实现原生分页的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP结合MySQL实现原生分页

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址