好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php分页多种实现程序代码 - php分页

php分页多种实现程序代码

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

分页代码如下:

<?php     //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' ]. '<br />' ;    }     //显示链接页面切换链接,当前页无链接      for ( $i =1; $i <= $pagenum ; $i ++){       $show =( $i != $page )? "<a href='index.php?page=" . $i . "'>$i</a>" : "<b>$i</b>" ;       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]. "<br><br>" ;    }      }    echo   "页次:" . $page . "/" ;    echo   $page_count . "页 记录:" ;    echo   $message_count . "条" . "<br>" ;       if ( $page !=1)     {       echo    "<a href=index.php?page=1>首页</a>&nbsp;" ;          echo   "<a href=index.php?page=" .( $page -1). ">上一页</a>&nbsp;" ;      }     else      {       echo    "首页&nbsp;" ;          echo   "上一页&nbsp;" ;        }         for ( $i =1;  $i <= $page_count ;  $i ++)    {      if  ( $page == $i )      { echo    $i . "&nbsp;" ;}       else          { echo    "<a href=index.php?page=$i>$i</a>&nbsp;" ;}     }         if ( $page < $page_count )     {       echo   "<a href=index.php?page=" .( $page +1). ">下一页</a>&nbsp;" ;       echo    "<a href=index.php?page=" . $page_count . ">尾页</a>" ;     }     else      {       echo   "下一页&nbsp;" ;       echo    "尾页" ;     }   }  ?> 

conn.php 连接数据库,代码如下:

<?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()就可完成分页,代码如下:

 <?php  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<$PageSize) { //如果总数量小于每页的记录数量$PageSize,那么只有一页.                    $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 ); //总页数=总数量除以每页数量  如果有小树,则进位< span style="color: #008000;">             if ( $Page > $PageCount | $page ==0){ // 如果当前页数大于总页数                 echo   "不能发现此页!" ;                exit ();           }                     //翻页链接             $PageOut  =  '' ;            if ( $page ==1){ //如果页数只有一页                 $PageOut  .=  '第一页|上一页' ;           }            else {                $PageOut  .=  '<a href="index.php?page=1">第一页& lt;/a>|<a href="index.php?page=' .( $page -1). '">上一页</a>|' ;           }            if ( $page == $PageCount || $PageCount ==0){ //如果当前页等于总也数                 $PageOut  .=  '下一页|尾页' ;           }            else {                $PageOut  .=   '<a href="index.php?page=' .( $page +1). '">下一页</a>|<a href="index.php?page=' . $PageCount . '">尾页</a>' ;           }            //获取数据             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  =  "<a href=index.php?action=blog_del&bid=$blog[bid]>删除</a>" .                "<a href=index.php?action=blog_edit&bid=$blog[bid]>编辑</a>" .                "<a href=index.php?action=blog_view&bid=$blog[bid]>查看</a>" ;                include ( "template/default/blog.tpl.php" );                echo   $PageOut ;           }            for ( $i =1; $i <= $PageCount ; $i ++){ //数字分页                $Pageshow  = ( $i != $page )? "<a href='index.php?page=" . $i . "'>$i</a>" : "<b>$i</b>" ;               echo   $PageShow ;            }             echo   $amount . '条记录,每页' . $PageSize . '条,共' . $PageCount . '页' ;           } 

查看更多关于php分页多种实现程序代码 - php分页的详细内容...

  阅读:64次