php原生分页

自己写一个原生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'].'<br/>';

$page_page = '';//1、得到 总页数 $pages 、 每页数 $Page_size、 显示页数 $page_len
$page_page .= "$page/$pages 页";
if($page!=1){ 
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=1\">第一页</a> "; //第一页 
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\">上一页</a>"; //上一页 
}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.=' <span>'.$i.'</span>'; 
} else { 
$key.=" <a href=\"".$_SERVER['PHP_SELF']."?page=".$i."\">".$i."</a>";

}
if($page!=$pages){ 
$key.=" <a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\">下一页</a> ";//下一页
$key.="<a href=\"".$_SERVER['PHP_SELF']."?page={$pages}\">最后一页</a>"; //最后一页
}else {
$key.=" 下一页 "; 
//下一页$key.=" 最后一页 ";//最后一页
}
echo $key; //输出分页 


?>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值