首頁 >php教程 >PHP源码 >php分页多种实现程序代码

php分页多种实现程序代码

WBOY
WBOY原創
2016-06-08 17:24:43999瀏覽

本文章总结了目前常用的几种分页代码,比如说上一页,下一页之类的,还有一种数字分页,像1,2,3...之类的等

<script>ec(2);</script>

 

分页代码

 代码如下 复制代码
  //page当前页,num每页的页数
  $page=isset($_GET['page'])?intval($_GET['page']):1;
  $num=5;
  $conn = mysql_connect('127.0.0.1','root','');
  if (!$conn) {
   die('Could not connect:'.mysql_error());
  }
  mysql_select_db('shop');
  //获取记录总数
  $total=mysql_num_rows(mysql_query("select * from user"));
  //计算页数
  $pagenum=ceil($total/$num);
  //限制页数不能超出范围
  If($page>$pagenum || $page == 0){
    Echo 'Error : Can Not Found The page.';
    Exit;
  }
  //语句“Select * from table limit 0,10”从table表提取十条信息,0为起点,10为提取的数目
  //$offset为起点值,如当前页为第一页,每页5条,起点即为0,同理当前为第二页,起点将为5
  $offset=($page-1)*$num;
  $result=mysql_query("select * from user limit $offset,$num");
  while($it=mysql_fetch_array($result)){
    echo 'id:'.$it['id'].' name:'.$it['name'].'
';
  }
  //显示链接页面切换链接,当前页无链接
  for($i=1;$i     $show=($i!=$page)?"$i":"$i";
    echo $show." ";
  }
  echo $total.'条记录,每页5条,共'.$pagenum.'页';
   mysql_free_result($result);
  mysql_close($conn);
?>

实例2

 代码如下 复制代码

//function.php  这里是主函数
function php_page($page_dbname,$page_size,$page)
{
if ($page=="")
 {$page=1;};
if ($ljjl=="")
 {$ljjl=0;};
if($page)
  {
    //$page_dbname="tb_insert";
 //$page_size=4;          //每页显示4条记录
    $query="select count(*) as total from ".$page_dbname;  //从数据库中读取数据
 $result=mysql_query($query);
    $message_count=mysql_result($result,0,"total");  //获取总的记录数
    $page_count=ceil($message_count/$page_size);  //获取总的页数
    $offset=($page-1)*$page_size;  
    $query="select * from ".$page_dbname." order by id desc limit $offset, $page_size";  
 $result=mysql_query($query);
//内容显示 这里只是简单的作个示范,可以按你的要求随便改动。
 while ($myrow=@mysql_fetch_array($result))
 {
  echo $myrow[name]." | ".$myrow[number]." | ".$myrow[tel]." | ".$myrow[address]."

";
  }
 
}
 echo "页次:".$page."/";
 echo $page_count."页 记录:";
 echo $message_count."条"."
";

  if($page!=1)
   {
    echo  "首页 ";
       echo "上一页 ";
    }
  else
   {
    echo  "首页 ";
       echo "上一页 ";  
   }
 
  for($i=1; $i   {
   if ($page==$i)
    {echo  $i." ";}
    else
       {echo  "$i ";}
   }
 
  if($page    {
    echo "下一页 ";
    echo  "尾页";
   }
  else
   {
    echo "下一页 ";
    echo  "尾页";
   }
}
?>

//conn.php   连接数据库

 代码如下 复制代码

$id=mysql_connect("localhost","root","root")or dir('连接失败:' . mysql_error());
//mysql_connect("IP","用户名","密码")

if(mysql_select_db("db_database06",$id))
echo "";
else
echo ('连接失败:' . mysql_error());
mysql_query("set names gb2312");
?>

//主程序,将上面俩个文件包含进来,再调用一个php_page()就可完成分页。:)

 代码如下 复制代码

 

require_once("conn.php");
require_once("function.php");
php_page("tb_insert",3,$_GET[page]); // "tb_insert"是表名,3是在每页要显示的记录数,$_GET[page]是page的id,直接用就可以了。
?> 

上在的一种是文字分页,比如说上一页,下一页之类的,还有一种数字分页,像1,2,3...之类的,这个比较简单,前者稍微复杂些.最后一种是他们2者结合

 代码如下 复制代码

--> 1 //获取当前页数
         if(isset($_GET['page'])){
             $page = intval($_GET['page']);
         }
         else {
             $page=1;
         }
         $PageSize = 1; //每页的记录数量
         // 获取总数量
         $sql = "select count(*) from blog";
         $result = mysql_query($sql);
         $row = mysql_fetch_row($result);
         $amount = $row[0];
         /*计算总页数
         if($amount){
             if($amount                  $PageCount = 1;
             }
             if($amount%$PageSize) { //总数量除以每页的记录数量取于
                 $PageCount =& amp;nbsp;(int)($amount/$PageSize)+1;//如果有于,则页数等于总数量除每页的记录数加1
             }
             else{
                 $PageCount =& amp;nbsp;$amount/$PageSize;//没有,则结果是页数
             }
         }
         else{
             $PageCount = 0;
         }*/
         $PageCount = ceil($amount/$PageSize);//总页数=总数量除以每页数量  如果有小树,则进位
         if($Page>$PageCount|$page==0){// 如果当前页数大于总页数
             echo "不能发现此页!";
             exit();
         }
      
         //翻页链接
         $PageOut = '';
         if($page==1){//如果页数只有一页
             $PageOut .= '第一页|上一页';
         }
         else{
             $PageOut .= '第一页& lt;/a>|上一页|';
         }
         if($page==$PageCount||$PageCount==0){//如果当前页等于总也数
             $PageOut .= '下一页|尾页';
         }
         else{
             $PageOut .=  '下一页|尾页';
         }
         //获取数据
         if($amount){
         $sql="select * from blog limit ".($page-1)*($PageSize).",$PageSize";
         $result=mysql_query($sql);
         while($row=mysql_fetch_array($result)){//此段代码只是示例
             $blogs[] = array('bid'=>$row['bid'],'title'=>$row['title']);
             foreach ($blogs as $blog){
             $title=$blog['title'];
             }
             $output = "删除".
             "编辑".
             "查看";
             include("template/default/blog.tpl.php");
             echo $PageOut;
         }
         for($i=1;$i             $Pageshow = ($i!=$page)?"$i":"$i";
            echo $PageShow;
          }
          echo $amount.'条记录,每页'.$PageSize.'条,共'.$PageCount.'页';
         }

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn