版权声明:本文为博主原创文章,未经博主允许不得转载。 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'];
?>