PHP分页初探 一个最简单的PHP分页代码实现
PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项。
要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7。PHP分页代码核心就是围绕这条语句展开的,SQL语句说明:查询goods数据表从第2条数据开始取出7条数据。在分页代码中,7表示每页显示多少条内容,2通过公式计算表示翻页数,通过传入不同参数替换“2”的值,即可筛选出不同的数据。
index.php:
include 'conn.php'; //引入数据库操作类 $conn=new conn(); //实例化数据库操作类 $total=$conn->getOne('select count(*) as total from goods'); $total=$total['total']; //goods表数据总数据条数 $num=6; //每页显示条数 $totalpage=ceil($total/$num); //计算页数 if(isset($_GET['page']) && $_GET['page']<=$totalpage){//这里做了一个判断,若get到数据并且该数据小于总页数情况下才付给当前页参数,否则跳转到第一页 $thispage=$_GET['page']; }else{ $thispage=1; } <br>//注意下面sql语句中红色部分,通过计算来确定从第几条数据开始取出,当前页数减去1后再乘以每页显示数据条数 $sql='select goods_id,goods_name,shop_price from goods order by goods_id limit '.<span style="color: #ff0000;">($thispage-1)*$num</span>.','.$num.''; $data=$conn->getAll($sql); foreach($data as $k=>$v){ echo '<li>'.$v['goods_id'].'、'.$v['goods_name'].'---¥'.$v['shop_price'].'</li>'; } <br>//显示分页数字列表 for($i=1;$i<=$totalpage;$i++){ echo '<a href="?page='.$i.'">'.$i.'</a> '; }
上述代码实现了一个最简单的PHP分页效果:
仅实现点击翻页数字显示不同的翻页数据,可以在此基础上进一步完善,只要基础原理理解后,后续工作就比较容易开发了。
conn.php代码:
/* *连接数据库 进行相关查询操作 */ class conn{ public function __construct(){ include_once('config.php'); try{ $this->pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '123456'); $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->pdo->exec('set names utf8'); }catch(PDOException $e){ echo '数据库连接失败:'.$e->getMessage(); exit(); } } //获取一行数据 public function getOne($sql){ $rs=$this->pdo->query($sql)->fetch(PDO::FETCH_ASSOC); return $rs; } //获取多行数据结果 public function getAll($sql){ $rs=$this->pdo->query($sql)->fetchall(PDO::FETCH_ASSOC); return $rs; } }
conn.php功能是完成数据库连接,并实现取出数据操作方法,这里我使用的是pdo,这里可以根据大家习惯来组织代码。
config.php:
/* *配置数据库信息 */ $cfg_dbhost='localhost'; $cfg_dbname='test'; $cfg_dbuser='root'; $cfg_dbpw='123456';
明星效应。很简单,在一个领域保持顶尖水平,比在一两个领域保持领先水平和五六个领域保持一般水准都要更有价值、并且收益更好。
有悖常识的真相:让未来更开放的方式,正是专注的去做好一件事情。这个世界上最成功的人,他们在某一领域获得成功之后,可通过经营杠杆进入任何他们想要涉足的领域。而这都得依赖于他们曾极致的专注在做好一件事情上。