PHP分頁(yè)初探 一個(gè)最簡(jiǎn)單的PHP分頁(yè)代碼實(shí)現(xiàn),分頁(yè)初探_PHP教程
Jul 12, 2016 am 08:50 AMPHP分頁(yè)初探 一個(gè)最簡(jiǎn)單的PHP分頁(yè)代碼實(shí)現(xiàn),分頁(yè)初探
PHP分頁(yè)代碼在各種程序開發(fā)中都是必須要用到的,在網(wǎng)站開發(fā)中更是必選的一項(xiàng)。
要想寫出分頁(yè)代碼,首先你要理解SQL查詢語(yǔ)句:select * from goods limit 2,7。PHP分頁(yè)代碼核心就是圍繞這條語(yǔ)句展開的,SQL語(yǔ)句說明:查詢goods數(shù)據(jù)表從第2條數(shù)據(jù)開始取出7條數(shù)據(jù)。在分頁(yè)代碼中,7表示每頁(yè)顯示多少條內(nèi)容,2通過公式計(jì)算表示翻頁(yè)數(shù),通過傳入不同參數(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; } <br />//注意下面sql語(yǔ)句中紅色部分,通過計(jì)算來確定從第幾條數(shù)據(jù)開始取出,當(dāng)前頁(yè)數(shù)減去1后再乘以每頁(yè)顯示數(shù)據(jù)條數(shù) $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 />//顯示分頁(yè)數(shù)字列表 for($i=1;$i<=$totalpage;$i++){ echo '<a href="?page='.$i.'">'.$i.'</a> '; }
上述代碼實(shí)現(xiàn)了一個(gè)最簡(jiǎn)單的PHP分頁(yè)效果:
僅實(shí)現(xiàn)點(diǎn)擊翻頁(yè)數(shù)字顯示不同的翻頁(yè)數(shù)據(jù),可以在此基礎(chǔ)上進(jìn)一步完善,只要基礎(chǔ)原理理解后,后續(xù)工作就比較容易開發(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í)慣來組織代碼。
config.php:
/* *配置數(shù)據(jù)庫(kù)信息 */ $cfg_dbhost='localhost'; $cfg_dbname='test'; $cfg_dbuser='root'; $cfg_dbpw='123456';
該例子僅是為了說明基礎(chǔ)的分頁(yè)原理,距真正使用還有很多修改地方。
示例代碼下載:http://www.superphp.cn/yuanma/332.html

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

PHP ? Ajax? ???? ?? ?? ?? ?? ??: ??? ????: Ajax ??? ???? ??? ?????(autocomplete.php). ????? ????: Ajax ??? ??? ??? ?????(autocomplete.js). ?? ??: HTML ???? ????? ???? ?? ?? ?? ???? ?????.

jQuery? ????? ? ??? ????? ? ???? ?? ?? JavaScript ????????. AJAX? ?? ? ???? ?? ???? ?? ??? ??? ??? ??? ?? ???? ?????. ??? jQuery? ???? AJAX ??? ? ? ?? 403 ??? ?????. 403 ??? ????? ?? ???? ?? ??? ?? ?? ?? ??? ?????. ? ????? 403 ??? ??? jQueryAJAX ??? ???? ??? ?? ?????.

??: jQuery AJAX ??? 403 ??? ???? ?? ? ?? ?? 403 ??? ??? ???? ?? ???? ???? ??? ?????. ? ??? ????? ??? ??? ??? ???? ???? ??? ?????. jQueryAJAX ??? ? ? ?? ?? ??? ?????. ? ????? ? ??? ???? ??? ???? ?? ??? ?????. ?? ??: ?? ??: ?? ??? URL ??? ???? ???? ???? ???? ? ?? ??? ??? ??? ??????.

jQueryAJAX ?? 403 ??? ???? ??? ?????? ? ??????? ??? ? jQuery? ?? ??? ??? ??? ? ?????. ??? ??? jQueryAJAX? ??? ? ???? ???? ?????? ???? ?? ?? 403? ??? ? ????. ?? ????? ?? ? ?? ???? ?? ????? ??? ???? ??? ????. ? ????? jQueryAJAX ?? 403 ??? ???? ??? ???? ???? ?? ??? ?????. 1. ???

Ajax(??? JavaScript ? XML)? ???? ???? ?? ???? ??? ?? ???? ??? ? ????. PHP? Ajax? ???? ?? ??? ???? ??? ? ????. HTML? ???? ??? ?? ???? ???? Ajax ??? ??? ? ??? ???? ?????. JavaScript? Ajax? ???? XMLHttpRequest? ?? ??? ??? ?? ???? JSON ??? ?? ???? ????. PHP? MySQL? ???? ???????? ?? ???? ???? ?? JSON ???? ??????. JavaScript? JSON ???? ?? ???? ??? ????? ?????. ??? ???? ?? ??? ????? Ajax ??? ??????.

Ajax? ???? PHP ????? ??? ?? ?? ? ??? ???? ???????. Ajax? ?? ???? ?? ??? ??? ???? ???? ?? ? ????. ? ????? Ajax? ???? PHP ????? ??? ???? ??? ???? ???? ?? ??? ?????. ?? Ajax ??? ???? ??? ??? ???? ?? PHP ??? ???? ???. ??? ??? PHP ?? getData.php? ?? ?? ?????.

Ajax ??? ????? ?? ??? ?? ?? ?? ??? ????. CSRF ??: ??? ???? ?????? ???, ?? ?? ? ?? ?? ?????. XSS ??: ?? ???? ??? ????? htmlspecialchars()? ???? ??? ??????. Content-Security-Policy ??: ?? ??? ??? ???? ???? ? ??? ??? ??? ? ?? ??? ?????. ??? ?? ??? ??: ???? ?? ???? ???? ???? Ajax ???? ??? ??? ???? ?????. ?? Ajax ????? ??: jQuery? ?? ??????? ???? ?? CSRF ?? ??? ?????.

Ajax? ?? ??? ??? ?? ??? ???? ? ??? ???? ?????? ???? ?????? ?????. Ajax?? ?? ?? ??? ??? ajax? ? ?? ?? ?? ??? ????. 1. jQuery AJAX; 3. Fetch API 5. XMLHttpRequest ?? 2; -??? ??? 8, GraphQL ?
