Maison >php教程 >php手册 >PHP分页初探 一个最简单的PHP分页代码实现,分页初探

PHP分页初探 一个最简单的PHP分页代码实现,分页初探

WBOY
WBOYoriginal
2016-07-06 14:25:171209parcourir

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>($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';

  

该例子仅是为了说明基础的分页原理,距真正使用还有很多修改地方。

 示例代码下载:http://www.superphp.cn/yuanma/332.html

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn