东京热成人网站_XX另类XX伦理XXAV_亚洲精品无码成人AAA片_高清av中文字幕无码_手机看片国产欧美日韩高清_bd美妙第进化型

咨詢電話:
15628812133
06
2017/05

PHP分頁(yè)初探 一個(gè)最簡(jiǎn)單的PHP分頁(yè)代碼的簡(jiǎn)單實(shí)現(xiàn)

發(fā)布時(shí)間:2017-05-06 17:52:26
發(fā)布者:pengyifeng
瀏覽量:
0

要想寫出分頁(yè)代碼,首先你要理解SQL查詢語(yǔ)句:select * from goods limit 2,7。PHP分頁(yè)代碼核心就是圍繞這條語(yǔ)句展開(kāi)的,SQL語(yǔ)句說(shuō)明:查詢goods數(shù)據(jù)表從第2條數(shù)據(jù)開(kāi)始取出7條數(shù)據(jù)。在分頁(yè)代碼中,7表示每頁(yè)顯示多少條內(nèi)容,2通過(guò)公式計(jì)算表示翻頁(yè)數(shù),通過(guò)傳入不同參數(shù)替換“2”的值,即可篩選出不同的數(shù)據(jù)

index.php:

include 'conn.php';  //引入數(shù)據(jù)庫(kù)操作類 
  
$conn=new conn();  //實(shí)例化數(shù)據(jù)庫(kù)操作類 
  
$total=$conn->getOne('select count(*) as total from goods'); 
$total=$total['total']; //goods表數(shù)據(jù)總數(shù)據(jù)條數(shù) 
$num=6; //每頁(yè)顯示條數(shù) 
$totalpage=ceil($total/$num);  //計(jì)算頁(yè)數(shù) 
if(isset($_GET['page']) && $_GET['page']<=$totalpage){//這里做了一個(gè)判斷,若get到數(shù)據(jù)并且該數(shù)據(jù)小于總頁(yè)數(shù)情況下才付給當(dāng)前頁(yè)參數(shù),否則跳轉(zhuǎn)到第一頁(yè) 
  $thispage=$_GET['page']; 
}else{ 
  $thispage=1; 
} 

//注意下面sql語(yǔ)句中紅色部分,通過(guò)計(jì)算來(lái)確定從第幾條數(shù)據(jù)開(kāi)始取出,當(dāng)前頁(yè)數(shù)減去1后再乘以每頁(yè)顯示數(shù)據(jù)條數(shù)  $sql='select goods_id,goods_name,shop_price from goods order by goods_id limit '.($thispage-1)*$num.','.$num.'';     $data=$conn->getAll($sql);     foreach($data as $k=>$v){    echo '
  • '.$v['goods_id'].'、'.$v['goods_name'].'---¥'.$v['shop_price'].'
  • ';    } 
    //顯示分頁(yè)數(shù)字列表  for($i=1;$i<=$totalpage;$i++){    echo ''.$i.' ';        }

    上述代碼實(shí)現(xiàn)了一個(gè)最簡(jiǎn)單的PHP分頁(yè)效果:

    僅實(shí)現(xiàn)點(diǎn)擊翻頁(yè)數(shù)字顯示不同的翻頁(yè)數(shù)據(jù),可以在此基礎(chǔ)上進(jìn)一步完善,只要基礎(chǔ)原理理解后,后續(xù)工作就比較容易開(kāi)發(fā)了。

    conn.php代碼:

    /* 
    *連接數(shù)據(jù)庫(kù) 進(jìn)行相關(guān)查詢操作 
    */
      
    class conn{ 
      
      public function __construct(){ 
        include_once('config.php'); 
        try{   
          $this->pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '123456'); 
          $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
          $this->pdo->exec('set names utf8'); 
            
      
        }catch(PDOException $e){ 
          echo '數(shù)據(jù)庫(kù)連接失敗:'.$e->getMessage(); 
          exit(); 
        } 
      } 
        
      //獲取一行數(shù)據(jù) 
      public function getOne($sql){ 
        $rs=$this->pdo->query($sql)->fetch(PDO::FETCH_ASSOC); 
          
        return $rs; 
      } 
        
      //獲取多行數(shù)據(jù)結(jié)果 
      public function getAll($sql){ 
        $rs=$this->pdo->query($sql)->fetchall(PDO::FETCH_ASSOC); 
          
        return $rs; 
      
      } 
    }

    conn.php功能是完成數(shù)據(jù)庫(kù)連接,并實(shí)現(xiàn)取出數(shù)據(jù)操作方法,這里我使用的是pdo,這里可以根據(jù)大家習(xí)慣來(lái)組織代碼。

    config.php:

    * 
    *配置數(shù)據(jù)庫(kù)信息 
    */
      
    $cfg_dbhost='localhost'; 
    $cfg_dbname='test'; 
    $cfg_dbuser='root'; 
    $cfg_dbpw='123456';

    該例子僅是為了說(shuō)明基礎(chǔ)的分頁(yè)原理,距真正使用還有很多修改地方。

    關(guān)鍵詞:
    返回列表