php分頁多種實現程式碼

來源:互聯網
上載者:User

 

分頁代碼

 代碼如下 複製代碼
<?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.'頁';
         }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.