PHP+Mysql開(kāi)發(fā)分頁(yè)之顯示總頁(yè)數(shù)
顯示總的頁(yè)數(shù)
<html> <head> <meta http-equiv="CONTENT-TYPE" content="text/html;"> </head> <body> <?php /** 1.傳入頁(yè)面 **/ $page = $_GET['p']; /** 2.根據(jù)頁(yè)面取出數(shù)據(jù):php->mysql **/ $host = "localhost"; $username = 'root'; $password = '123456789'; $db = 'bbs2'; $PageSize=5; //連接數(shù)據(jù)庫(kù) $conn = mysql_connect($host, $username, $password); if(!$conn){ echo "數(shù)據(jù)庫(kù)連接失敗"; exit; } //選擇所要操作的數(shù)據(jù)庫(kù) mysql_select_db($db); //設(shè)置數(shù)據(jù)庫(kù)編碼格式 mysql_query('SET NAMES UTF8'); //編寫(xiě)sql獲取分頁(yè)數(shù)據(jù):SELECT * FROM 表名 LIMIT 起始位置 , 顯示條數(shù) $sql = "SELECT*FROM test LIMIT ".($page-1)*$PageSize .",$PageSize"; if(!$sql){ echo "取出不成功"; }; //把sql語(yǔ)句傳送到數(shù)據(jù)庫(kù) $result = mysql_query($sql); //處理我們的數(shù)據(jù) echo "<table border=1 cellspacing=0 width=15% >"; echo "<tr><td>ID</td><td>名字</td><td>性別</td></tr>"; while($row = mysql_fetch_assoc($result)){ echo "<tr>"; echo "<td>{$row['id']}</td>"; echo "<td>{$row['name']}</td>"; echo "<td>{$row['sex']}</td>"; echo "<tr>"; } //釋放結(jié)果 mysql_free_result($result); //獲取數(shù)據(jù)總數(shù) $to_sql="SELECT COUNT(*)FROM test"; $to_result=mysql_fetch_array(mysql_query($to_sql)); $to=$to_result[0]; //計(jì)算頁(yè)數(shù) $to_pages=ceil($to/$PageSize); mysql_close($conn); /** 3.顯示數(shù)據(jù)+分頁(yè)條 **/ $page_banner="<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'>上一頁(yè)</a>"; $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page+1)."'>下一頁(yè)</a>"; $page_banner.="共{$to_pages}頁(yè)"; echo $page_banner; ?> </body> </html>
代碼解釋
//獲取數(shù)據(jù)總數(shù) $to_sql="SELECT COUNT(*)FROM test"; $to_result=mysql_fetch_array(mysql_query($to_sql)); $to=$to_result[0]; //計(jì)算頁(yè)數(shù) $to_pages=ceil($to/$PageSize); mysql_close($conn);
本章難點(diǎn)
$to_sql:用來(lái) 計(jì)算數(shù)據(jù)的總數(shù)
$to_result:連接計(jì)算出來(lái)的總數(shù),并取得數(shù)據(jù)
$to就是取得的總條數(shù)
$to_pages計(jì)算出頁(yè)數(shù)? $to/$PageSize每頁(yè)顯示的數(shù)據(jù)獲得顯示多少頁(yè),
ceil向上去整數(shù),這樣余下的數(shù)也能顯示出來(lái)。