求助 php 实现分页? 像百度上那样 [1][2][3]下一页 当点击第二页的时候 上一页[1][2][3]下一页 当点击第6页的时候 是这样上一页[2][3]..[11]下一页 就是始终显示10页 ?怎么实现这样的功能啊 求助 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下面的代码就是仿照百度的分页的/*--分页函数--*/function pagesfun($page,$total,$phpfile,$pagesize=9,$pagelen=9){$pagecode = '';//定义变量,存放分页生成的HTML$page = intval($page);//避免非数字页码$total = intval($total);//保证总记录数值类型正确if(!$total) return array();//总记录数为零返回空数组$pages = ceil($total/$pagesize);//计算总分页//处理页码合法性if($page<1) $page = 1;if($page>$pages) $page = $pages;//计算查询偏移量$offset = $pagesize*($page-1);//页码范围计算$init = 1;//起始页码数$max = $pages;//结束页码数$pagelen = ($pagelen%2)?$pagelen:$pagelen+1;//页码个数$pageoffset = ($pagelen-1)/2;//页码个数左右偏移量//生成html$pagecode='<div class="page">';$pagecode.=" <span>$page/$pages</span> ";//第几页,共几页//如果是第一页,则不显示第一页和上一页的连接if($page!=1){$pagecode.=" <a href=\"{$phpfile}?page=1\">首页</a> ";//第一页$pagecode.=" <a href=\"{$phpfile}?page=".($page-1)."\">上一页</a> ";//上一页}//分页数大于页码个数时可以偏移if($pages>$pagelen){//如果当前页小于等于左偏移if($page<=$pageoffset){$init=1;$max = $pagelen;}else{//如果当前页大于左偏移//如果当前页码右偏移超出最大分页数if($page+$pageoffset>=$pages+1){$init = $pages-$pagelen+1;}else{//左右偏移都存在时的计算$init = $page-$pageoffset;$max = $page+$pageoffset;}}}//生成htmlfor($i=$init;$i<=$max;$i++){if($i==$page){$pagecode.='<span> <strong>'.$i.'</strong> </span>';} else {$pagecode.=" <a href=\"{$phpfile}?page={$i}\">$i</a> ";}}if($page!=$pages){$pagecode.=" <a href=\"{$phpfile}?page=".($page+1)."\">下一页</a> ";//下一页$pagecode.=" <a href=\"{$phpfile}?page={$pages}\">尾页</a> ";//最后一页}$pagecode.='</div>';return array('pagecode'=>$pagecode,'sqllimit'=>' limit '.$offset.','.$pagesize);}//调用 $phpfile = 'test.php';//页面文件名$page= isset($_GET['page'])?$_GET['page']:1;//默认页码$counts = mysql_num_rows(mysql_query('select id from `art` where artpush=0'));//获取需要的数据总条数$sql='select * from `art` where artpush=0 order by artfirst desc,artuptop desc,arttime desc';//定义查询语句SQL$getpageinfo = pagesfun($page,$counts,$phpfile,15,12);//调用函数,生成分页HTML 和 SQL LIMIT 子句$sql.=$getpageinfo['sqllimit'];//组合完整的SQL语句$data = $row = array();//初始化数组$result = mysql_query($sql);//获取结果集//将数据装入$data数组$allarr=mysql_fetch_array($result);echo $getpageinfo['pagecode']; PHP接口加密 中文变问号了,高分求恢复方法??? 数组显示的奇怪问题 我也后台登入不进呀!大家来帮我看看吧 无法传送附件——INPUT类型为FILE时,取不到数值? alexa网站排名作弊新招(异想天开) PHP执行命令问题! 遇到一个php版本的问题 大家进!急急 没分了请帮忙 如何用PHP把RDF内容插入到Web站点之中(1) window.open 弹出页面后,父页面上移 PHP 怎么注销整个网站session?
function pagesfun($page,$total,$phpfile,$pagesize=9,$pagelen=9){
$pagecode = '';//定义变量,存放分页生成的HTML
$page = intval($page);//避免非数字页码
$total = intval($total);//保证总记录数值类型正确
if(!$total) return array();//总记录数为零返回空数组
$pages = ceil($total/$pagesize);//计算总分页
//处理页码合法性
if($page<1) $page = 1;
if($page>$pages) $page = $pages;
//计算查询偏移量
$offset = $pagesize*($page-1);
//页码范围计算
$init = 1;//起始页码数
$max = $pages;//结束页码数
$pagelen = ($pagelen%2)?$pagelen:$pagelen+1;//页码个数
$pageoffset = ($pagelen-1)/2;//页码个数左右偏移量//生成html
$pagecode='<div class="page">';
$pagecode.=" <span>$page/$pages</span> ";//第几页,共几页
//如果是第一页,则不显示第一页和上一页的连接
if($page!=1){
$pagecode.=" <a href=\"{$phpfile}?page=1\">首页</a> ";//第一页
$pagecode.=" <a href=\"{$phpfile}?page=".($page-1)."\">上一页</a> ";//上一页
}
//分页数大于页码个数时可以偏移
if($pages>$pagelen){
//如果当前页小于等于左偏移
if($page<=$pageoffset){
$init=1;
$max = $pagelen;
}else{//如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数
if($page+$pageoffset>=$pages+1){
$init = $pages-$pagelen+1;
}else{
//左右偏移都存在时的计算
$init = $page-$pageoffset;
$max = $page+$pageoffset;
}
}
}
//生成html
for($i=$init;$i<=$max;$i++){
if($i==$page){
$pagecode.='<span> <strong>'.$i.'</strong> </span>';
} else {
$pagecode.=" <a href=\"{$phpfile}?page={$i}\">$i</a> ";
}
}
if($page!=$pages){
$pagecode.=" <a href=\"{$phpfile}?page=".($page+1)."\">下一页</a> ";//下一页
$pagecode.=" <a href=\"{$phpfile}?page={$pages}\">尾页</a> ";//最后一页
}
$pagecode.='</div>';
return array('pagecode'=>$pagecode,'sqllimit'=>' limit '.$offset.','.$pagesize);
}//调用
$phpfile = 'test.php';//页面文件名
$page= isset($_GET['page'])?$_GET['page']:1;//默认页码
$counts = mysql_num_rows(mysql_query('select id from `art` where artpush=0'));//获取需要的数据总条数
$sql='select * from `art` where artpush=0 order by artfirst desc,artuptop desc,arttime desc';//定义查询语句SQL
$getpageinfo = pagesfun($page,$counts,$phpfile,15,12);//调用函数,生成分页HTML 和 SQL LIMIT 子句
$sql.=$getpageinfo['sqllimit'];//组合完整的SQL语句
$data = $row = array();//初始化数组
$result = mysql_query($sql);//获取结果集
//将数据装入$data数组
$allarr=mysql_fetch_array($result);echo $getpageinfo['pagecode'];