在php开发中框架可见是运用的越来越广泛,框架用多了原生不练习渐渐的都会以往了,希望大家不要把基础的东西给以往哦!我们本篇文章讲的是php结合mysql实现原生分页,而现在一般的框架都封装了分页类,不需要大家手动写。不过闲来无事的时候可以尝试着写一下,锻炼一下编写代码能力。
PHP+MYSQL分页主要是根据SQL语句中的limit实现的。
limit语句:
select * from table limit `limit`,`offset`;
可以将其中的limit看做是分页的页数,offset看做是每页显示的条数。
实现效果如图:
![1517190948126439.png @@H45V0@K4D0]BUOV5}T)S1.png](https://img.php.cn//upload/image/995/934/128/1517190948126439.png)
立即学习“PHP免费学习笔记(深入)”;
这里只是一个实例代码,主要实现分页功能,页面效果等相关没有特意调试。
主要实现功能有:首页、尾页、上一页、下一页、统计总页数、定位当前页、数字显示,最大四个,其余用...表示。
具体代码实现:
这里是使用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 =' 首页';
if($page <=1){
$page_banner .= ' 上一页';
}else{
$page_banner .=' 上一页';
}
if($page+3>4){
$page_banner .= '...';
}
if(($page+4)>=$end){
$page_banner .=' '.($end-3).'';
$page_banner .=' '.($end-2).'';
$page_banner .=' '.($end-1).'';
$page_banner .=' '.($end).'';
}else{
for($i=0;$i<4;$i++){
$page_banner .=' '.($page+$i).'';
}
}
if(($page+4)<$end){
$page_banner .= '...';
}
if($page <=$num['COUNT(*)']/$offset){
$page_banner .=' 下一页';
}else{
$page_banner .=' 下一页';
}
$page_banner .=' 尾页';
$page_banner .=' 总共'.$end.'页 当前第'.$page."页";
echo $page_banner;
?>大家可以在本地自己练习练习哦!不懂的更要多练习咯!这些原生基础的东西忘了到最后就很难再捡起来了!!
相关推荐:
结合CSS3实现的jQuery分页插件,分页的效果是很常用的,无论是前台还是后端管理系统,都会使用到分页,在企业站或商城网站中都是很实用的。php中文网推荐下载!
今天就给大家分享一款好用好看的php分页类!
今天就带大家来解析一下php分页的原理。
这篇文章主要介绍了万能的php分页类,特别好用,需要使用php分页类的朋友不要错过。
大量数据的显示就需要对内容进行分页,本文章就是就是介绍thinkphp分页进行整理,有需要的朋友一起来了解一下。










