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

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

WBOY
WBOYOriginal
2016-07-06 14:25:171191Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn