PHP自动适应范围的页码分页程序(2)_PHP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

PHP自动适应范围的页码分页程序(2)

作者:黑客防线网安PHP教程基地 来源:黑客防线网安PHP教程基地 浏览次数:0

本篇关键词:程序范围适应自动
黑客防线网安网讯:  完善:加了页码跳转文本框    <?php    functionpage($page,$total,$phpfile,$pagesize=10,$pagelen=7){    $pagecode='';//定义变量,存放分页生成的HTML    ...
  完善:加了页码跳转文本框
  
  <?php
  
  functionpage($page,$total,$phpfile,$pagesize=10,$pagelen=7){
  
  $pagecode='';//定义变量存放分页生成的HTML
  
  $page=intval($page);//避免非数字页码
  
  $total=intval($total);//保证总记录数值类型正确
  
  if(!$total)returnarray();//总记录数为零返回空数组
  
  $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='<divclass="page">';
  
  $pagecode.="<span>$page/$pages</span>";//第几页,共几页
  
  //如果是第一页则不显示第一页和上一页的连接
  
  if($page!=1){
  
  $pagecode.="<ahref="{$phpfile}?page=1">&lt;&lt;</a>";//第一页
  
  $pagecode.="<ahref="{$phpfile}?page=".($page-1)."">&lt;</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>'.$i.'</span>';
  
  }else{
  
  $pagecode.="<ahref="{$phpfile}?page={$i}">$i</a>";
  
  }
  
  }
  
  if($page!=$pages){
  
  $pagecode.="<ahref="{$phpfile}?page=".($page+1)."">&gt;</a>";//下一页
  
  $pagecode.="<ahref="{$phpfile}?page={$pages}">&gt;&gt;</a>";//最后一页
  
  }
  
  $pagecode.="<inputtype="text"size="3"onkeydown="if(event.keyCode==13){window.location.href='{$phpfile}?page='+this.value;returnfalse;}"/></div>";
  
  returnarray('pagecode'=>$pagecode,'sqllimit'=>'limit'.$offset.','.$pagesize);
  
  }
  
  ?>
  
  以下是新手使用说明
  
  <?php
  
  $phpfile='index.php';//页面文件名
  
  $page=isset($_GET['page'])?$_GET['page']:1;//默认页码
  
  $db=mysql_connect('localhost','test','test');//链接数据库
  
  mysql_select_db('test',$db);//选择数据库
  
  $counts=mysql_num_rows(mysql_query('select`id`from`test`',$db));//获取需要的数据总条数
  
  $sql='select`id`,`title`from`test`';//定义查询语句SQL
  
  $getpageinfo=page($page,$counts,$phpfile);//调用函数,生成分页HTML和SQLLIMIT子句
  
  $sql.=$getpageinfo['sqllimit'];//组合完整的SQL语句
  
  $data=$row=array();//初始化数组
  
  $result=mysql_query($sql,$db);//获取结果集
  
  //将数据装入$data数组
  
  while($row=mysql_fetch_array($result)){
  
  $data[]=$row;
  
  }
  
  ?>
  
  <?php
  
  echo$getpageinfo['pagecode'];//显示分页的html代码
  
  ?>
  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-17402-1.html
网站维护教程更新时间:2012-09-21 05:18:14  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer