<?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實例運行的結果如下:
上面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!~