您好,登錄后才能下訂單哦!
如何在PHP中實現一個分頁功能?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
PHP分頁代碼在各種程序開發中都是必須要用到的,在網站開發中更是必選的一項。
要想寫出分頁代碼,首先你要理解SQL查詢語句:select * from goods limit 2,7。PHP分頁代碼核心就是圍繞這條語句展開的,SQL語句說明:查詢goods數據表從第2條數據開始取出7條數據。在分頁代碼中,7表示每頁顯示多少條內容,2通過公式計算表示翻頁數,通過傳入不同參數替換“2”的值,即可篩選出不同的數據。
index.php:
include 'conn.php'; //引入數據庫操作類 $conn=new conn(); //實例化數據庫操作類 $total=$conn->getOne('select count(*) as total from goods'); $total=$total['total']; //goods表數據總數據條數 $num=6; //每頁顯示條數 $totalpage=ceil($total/$num); //計算頁數 if(isset($_GET['page']) && $_GET['page']<=$totalpage){//這里做了一個判斷,若get到數據并且該數據小于總頁數情況下才付給當前頁參數,否則跳轉到第一頁 $thispage=$_GET['page']; }else{ $thispage=1; } <BR>//注意下面sql語句中紅色部分,通過計算來確定從第幾條數據開始取出,當前頁數減去1后再乘以每頁顯示數據條數 $sql='select goods_id,goods_name,shop_price from goods order by goods_id limit '.<SPAN >($thispage-1)*$num</SPAN>.','.$num.''; $data=$conn->getAll($sql); foreach($data as $k=>$v){ echo '<li>'.$v['goods_id'].'、'.$v['goods_name'].'---¥'.$v['shop_price'].'</li>'; } <BR>//顯示分頁數字列表 for($i=1;$i<=$totalpage;$i++){ echo '<a href="?page='.$i.'">'.$i.'</a> '; }
上述代碼實現了一個最簡單的PHP分頁效果:
僅實現點擊翻頁數字顯示不同的翻頁數據,可以在此基礎上進一步完善,只要基礎原理理解后,后續工作就比較容易開發了。
conn.php代碼:
/* *連接數據庫 進行相關查詢操作 */ 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 '數據庫連接失敗:'.$e->getMessage(); exit(); } } //獲取一行數據 public function getOne($sql){ $rs=$this->pdo->query($sql)->fetch(PDO::FETCH_ASSOC); return $rs; } //獲取多行數據結果 public function getAll($sql){ $rs=$this->pdo->query($sql)->fetchall(PDO::FETCH_ASSOC); return $rs; } }
conn.php功能是完成數據庫連接,并實現取出數據操作方法,這里我使用的是pdo,這里可以根據大家習慣來組織代碼。
config.php:
* *配置數據庫信息 */ $cfg_dbhost='localhost'; $cfg_dbname='test'; $cfg_dbuser='root'; $cfg_dbpw='123456';
看完上述內容,你們掌握如何在PHP中實現一個分頁功能的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。