php原生分页

自己写一个原生php分页:

$link=@MySQL_connect('localhost','用户名','密码');
mysql_select_db('数据库名称',$link);
mysql_query('set names utf8');
$result=mysql_query("select * from 表名");
$count = mysql_num_rows($result);

$Page_size=10; //分页条数
$page_count = ceil($count/$Page_size); //总页数
$init = 1; $page_len = 5; //显示页码数
$max_p=$page_count; //最大页数 
$pages=$page_count; //总页数

//判断当前页码 
if(empty($_GET['page'])||$_GET['page']<0){
$page=1; 
}else {
$page=$_GET['page']; 
}
$page_len = ($page_len%2)?$page_len:$pagelen+1; //页码个数 
$pageoffset = ($page_len-1)/2; //页码个数左右偏移量 
$offset = $Page_size*($p-1); 
$sql="select * from 表名 limit $offset,
$Page_size";
$result=mysql_query($sql);

while ($row=mysql_fetch_array($result)) { 
echo $row['name'].'
';

$page_page = '';//1、得到 总页数 $pages 、 每页数 $Page_size、 显示页数 $page_len
$page_page .= "$page/$pages 页";
if($page!=1){ 
$key.="第一页 "; //第一页 
$key.="上一页"; //上一页 
}else {
$key.=" 上一页 "; //上一页 
$key.=" 最后一页"; //最后一页 

if($pages>$page_len){
//如果当前页小于等于左偏移 
if($page<=$pageoffset){
$init=1; 
$max_p = $page_len; 
}else{
//如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数 
if($page+$pageoffset>=$pages+1){ 
$init = $pages-$page_len+1;
}else{ 
//左右偏移都存在时的计算
$init = $page-$pageoffset; 
$max_p = $page+$pageoffset; 
}
}
}
//输出页码
for($i=$init;$i<=$max_p;$i++){
if($i==$page){
$key.=' '.$i.''; 
} else { 
$key.=" ".$i."";

}
if($page!=$pages){ 
$key.=" 下一页 ";//下一页
$key.="最后一页"; //最后一页
}else {
$key.=" 下一页 "; 
//下一页$key.=" 最后一页 ";//最后一页
}
echo $key; //输出分页 


?>



你可能感兴趣的:(page,分页,数据库链接,php)