亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP開發(fā)文章發(fā)布系統(tǒng)之分頁(yè)程序

分頁(yè)程式

分頁(yè)的主要原理請(qǐng)見下圖:

分頁(yè)程序邏輯.png

註解:預(yù)先定義好每一頁(yè)要顯示的資料條數(shù)(假設(shè)一頁(yè)三條資料),根據(jù)資料庫(kù)資料的總條數(shù),算出一共多少頁(yè)來

在輸出頁(yè)面利用資料庫(kù)查詢語(yǔ)句的limit關(guān)鍵字,第一頁(yè)為從第0條數(shù)據(jù)開始的3條數(shù)據(jù),第二頁(yè)為從第3條數(shù)據(jù)開始的3條數(shù)據(jù),第n頁(yè)為從第(n- 1)*3條資料開始的3個(gè)資料

原理說完了,我們來看下實(shí)際程式吧,程式裡面註解很清楚,大家可以逐行觀察、理解

<?php
//分頁(yè)功能
//連接數(shù)據(jù)庫(kù)
require_once("connect.php");
$page = isset($_GET['page'])?intval($_GET['page']):1;//設(shè)置當(dāng)前頁(yè)數(shù),沒有則設(shè)置為1
$num=3;//每頁(yè)顯示3條數(shù)據(jù)
/*
首先我們要獲取數(shù)據(jù)庫(kù)中到底有多少數(shù)據(jù),才能判斷具體要分多少頁(yè),總頁(yè)數(shù) 具體的公式就是
總數(shù)據(jù)數(shù) 除以 每頁(yè)顯示的條數(shù),有余進(jìn)一 。
也就是說10/3=3.3333=4 有余數(shù)就要進(jìn)一。
*/
$sql="select * from article";
$result=mysqli_query($conn,$sql);
$total=mysqli_num_rows($result);//查詢數(shù)據(jù)的總條數(shù)
$pagenum=ceil($total/$num);//獲得總頁(yè)數(shù)
//假如傳入的頁(yè)數(shù)參數(shù)page 大于總頁(yè)數(shù) pagenum,則顯示錯(cuò)誤信息
if($page>$pagenum || $page == 0){
       echo "<script>alert('沒有內(nèi)容了');history.go(-1);</script>";
       exit;
}
 $offset=($page-1)*$num;        
/* 獲取limit的第一個(gè)參數(shù)的值 offset ,假如第一頁(yè)則為(1-1)*10=0,第二頁(yè)為(2-1)*10=10。             (傳入的頁(yè)數(shù)-1) * 每頁(yè)的數(shù)據(jù) 得到limit第一個(gè)參數(shù)的值*/
$sql="select * from article limit $offset,$num ";
$info=mysqli_query($conn,$sql);   //獲取相應(yīng)頁(yè)數(shù)所需要顯示的數(shù)據(jù)
//獲取最新添加的前六條數(shù)據(jù)
$sql_new="select  id,title from article order by dateline desc limit 0,6 ";
$info_title=mysqli_query($conn,$sql_new);
?>


繼續(xù)學(xué)習(xí)
||
<?php //分頁(yè)功能 //連接數(shù)據(jù)庫(kù) require_once("connect.php"); $page = isset($_GET['page'])?intval($_GET['page']):1;//設(shè)置當(dāng)前頁(yè)數(shù),沒有則設(shè)置為1 $num=3;//每頁(yè)顯示3條數(shù)據(jù) /* 首先我們要獲取數(shù)據(jù)庫(kù)中到底有多少數(shù)據(jù),才能判斷具體要分多少頁(yè),總頁(yè)數(shù) 具體的公式就是 總數(shù)據(jù)數(shù) 除以 每頁(yè)顯示的條數(shù),有余進(jìn)一 。 也就是說10/3=3.3333=4 有余數(shù)就要進(jìn)一。 */ $sql="select * from article"; $result=mysqli_query($conn,$sql); $total=mysqli_num_rows($result);//查詢數(shù)據(jù)的總條數(shù) $pagenum=ceil($total/$num);//獲得總頁(yè)數(shù) //假如傳入的頁(yè)數(shù)參數(shù)page 大于總頁(yè)數(shù) pagenum,則顯示錯(cuò)誤信息 if($page>$pagenum || $page == 0){ echo "<script>alert('沒有內(nèi)容了');history.go(-1);</script>"; exit; } $offset=($page-1)*$num; /* 獲取limit的第一個(gè)參數(shù)的值 offset ,假如第一頁(yè)則為(1-1)*10=0,第二頁(yè)為(2-1)*10=10。 (傳入的頁(yè)數(shù)-1) * 每頁(yè)的數(shù)據(jù) 得到limit第一個(gè)參數(shù)的值*/ $sql="select * from article limit $offset,$num "; $info=mysqli_query($conn,$sql); //獲取相應(yīng)頁(yè)數(shù)所需要顯示的數(shù)據(jù) //獲取最新添加的前六條數(shù)據(jù) $sql_new="select id,title from article order by dateline desc limit 0,6 "; $info_title=mysqli_query($conn,$sql_new); ?>
提交重置程式碼