PHP实现分页浏览功能

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mu_mu111/article/details/73350525

PHP分页功能代码

入门级代码
<?php
class pages 
{
	function __construct(){
		header("Content-Type:text/html;charset:utf-8;");
	}
/*
方法名: db_select 
说明 : 执行数据库连接以及sql查询
返回值 ; 查询所得结果集
*/
	public function db_select($sql){
		$db_host = 'localhost';
		$db_user = 'root';
		$db_pwd = '*****';
		$db_name = 'test';
		$mysqli = new mysqli($db_host ,$db_user ,$db_pwd ,$db_name);
		if(mysqli_connect_error()){
			echo mysqli_connect_error();
			return false;
		}
		else{
			$res = $mysqli->query($sql);
			if($res == false){
				echo $mysqli->error;
				echo $mysqli->errno;
			}
			return $res;
		}
		$mysqli->close();
	}
/*
方法名 : print_pages 
说明 : 构造查询sql以及生成页脚导航链接
参数 : $per_page_row 每页包含数据行数
返回值 :$res['v'] : 查询所得结果集
	 $res['l'] : 页脚导航链接
*/
	public function print_pages($per_page_row){
		$result = $this->db_select('select count(*) from test_user');
		$result = $result->fetch_assoc();
		$total = $result['count(*)']; // $total 数据总条数
		$cur_page = isset($_GET['page'])? $_GET['page'] : 1; //$cur_page 页码
		$page_num = ceil($total/$per_page_row); //$page_num 总页数,ceil:向上取整
		$skip = ($cur_page-1)*$per_page_row;//$skip: 查询时需要跳过的列数
		$sql = "select id,name from test_user limit ".$skip.",".$per_page_row;
		/*
		sql查询语句的构造:通过 limit 字句进行选取
		*/
		$res['v'] = $this->db_select($sql);
		$page_links = "";
		if($cur_page>1){
			$page_links .= '<a href='.$_SERVER['PHP_SELF'].'?page='.($cur_page-1).'><-</a>';
		}
		$page_links.=' '.$cur_page.' ';
		if ($cur_page<$page_num) {
			$page_links.='<a href='.$_SERVER['PHP_SELF'].'?page='.($cur_page+1).'>-></a>';
		}
		$res['l']=$page_links; 
		return $res;
	}

	
		
	
}

$test_obj = new pages;

$result = $test_obj->print_pages(20);

while($row = $result['v']->fetch_assoc()){
	echo $row['id']."</br>";
}
echo $result['l'];


?>



猜你喜欢

转载自blog.csdn.net/mu_mu111/article/details/73350525