程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> php分頁原理教程及簡單實例

php分頁原理教程及簡單實例

編輯:PHP基礎知識
 

<?php
echo "php教程";
//連接數據庫
$con = mysql_connect("localhost","root","");
mysql_select_db("xueshengchu",$con);
mysql_query("set names utf8");

$pageSize = 5; //每頁顯示數據條數

$result = mysql_query("select * from stu_msg");
$totalNum = mysql_num_rows($result); //數據總條數

$totalPageCount = intval($totalNum/$pageSize); //總頁數

//判斷當前頁是哪一頁
$nowPage = isset($_GET['page']) ? intval($_GET['page']) : 1;
//上一頁
$prev = ($nowPage-1 <= 0) ? 1 : $nowPage-1;
//下一頁
$next = ($nowPage+1 >= $totalPageCount) ? $totalPageCount : $nowPage+1;

//偏移量
$offset = ($nowPage-1)*$pageSize;

/*ok,這就可以取數據啦,其實只要你明白sql語句就知道了分頁原理
* select * from table limit $offset,$size分頁執行語句
*/
$sql = "select * from stu_msg limit $offset,$pageSize";
$result = mysql_query($sql,$con);
while($arr = mysql_fetch_array($result)){
echo $arr['mid'].$arr['content']."<br />";
}
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=1\">首頁</a>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".$prev."\">上一頁</a>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".$next."\">下一頁</a>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".$totalPageCount."\">尾頁</a>";
?>
 

以上php實例運行的結果如下:

1.PNG上面php代碼已經注釋的很清楚,相信出手也會明白!下面還是對php教程做下簡單的分析:

1.全局變量$_SERVER['PHP_SELF']是獲取腳本變量的絕對路徑,可以打印出看看就清楚了。

2.分頁的本質是將數據庫的的數據一段一段的顯示出來,比如上面的php實例中:

取出前5條(第一頁):select * from table limit 0,5

取出第5到1第10條(第二頁):select * from table limit 5,5

這樣得出了偏移量的公式:$offset = ($nowPage-1)*$pageSize;

3.intval() 函數是獲取變量的整數值

~php分頁是不是so easy!~

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved