標籤:跳轉 action 指令 串連錯誤 向上取整 else 輸出 free count
代碼部分:
<?PHP
header("Content-type:text/html;charset=utf-8");
$pageSize = 10;
//接收傳入的分頁碼
$page = $_GET[‘p‘];
//擷取分頁資料
$host = "localhost";
$username = "root";
$password = "";
$db = "lian";
$conn = mysql_connect($host,$username,$password);
if(!$conn){
echo "串連錯誤";
exit;
}
mysql_select_db($db);
mysql_query("SET NAMES UTF8");
$sql= "select * from page LIMIT ".(($page-1)*$pageSize).",".$pageSize;
$result = mysql_query($sql);
echo "<table border=1 cellspacing=0 width=40%>";
echo "<tr><td>id</td><td>name</td></tr>";
while($row = mysql_fetch_assoc($result)){
echo "<tr>";
echo "<td>".$row[‘id‘]."</td>";
echo "<td>".$row[‘name‘]."</td>";
echo "</tr>";
}
echo "</table>";
mysql_free_result($result);
$total_sql = "SELECT COUNT(*) FROM page";
$total_result = mysql_fetch_array(mysql_query($total_sql));
$total = $total_result[0];
$total_pages = ceil($total/$pageSize);
$showPage = 7;
$pageOffset = ($showPage-1)/2;
$start = 1;
$end = $total_pages;
mysql_close($conn);
//顯示資料和分頁
$page_banner = "";
if($page > 1){
$page_banner = "<a href=‘".$_SERVER[‘PHP_SELF‘]."?p=1‘>首頁</a>";
$page_banner .= "<a href=‘".$_SERVER[‘PHP_SELF‘]."?p=".($page-1)."‘>上一頁</a>";
}
if($total_pages > $page){
if($page > ($pageOffset+1)&&$page < ($total_pages-2)){
$start = $page - $pageOffset;
$end = $page + $pageOffset;
}else if($page <= ($pageOffset+1)){
$start = 1;
$end = 7;
}else{
$start = $total_pages-6;
$end = $total_pages;
}
}else{
$start = 1;
$end = $total_pages;
}
for($i = $start;$i<=$end;$i++){
if($page == $i){
$page_banner .= "<span style=‘color:red‘>".$i."</span>";
}else{
$page_banner .= "<a href=‘".$_SERVER[‘PHP_SELF‘]."?p=".$i."‘>".$i."</a>";
}
}
if($page < $total_pages){
$page_banner .= "<a href=‘".$_SERVER[‘PHP_SELF‘]."?p=".($page+1)."‘>下一頁</a>";
$page_banner .= "<a href=‘".$_SERVER[‘PHP_SELF‘]."?p=".($total_pages)."‘>尾頁</a>";
}
$page_banner .="共有".$total_pages."頁";
$page_banner .="<form action=‘page.php‘ method=‘get‘>";
$page_banner .="到第<input type=‘text‘ name=‘p‘ size=‘2‘>頁去";
$page_banner .="<input type=‘submit‘ value=‘確定‘>";
$page_banner .="</form>";
echo $page_banner;
?>
總結部分:
1,接收傳入的顯示頁面指令參數($page)
2,串連資料庫利用sql語句從資料庫取出資料,主要是select * from 表名 limit 開始位置,每頁顯示的條數
其中要注意limit後一定要放一個空格
3,從資料庫查出總條數,ceil()函數操作總條數/每頁顯示的條數計算出總頁數,其中ceil()是向上取整
4,前一頁是$page-1,後一頁是$page+1,首頁是1,尾頁是總頁數
5,跳轉到哪一頁用一個表單傳參即可
6,最重要的是顯示頁碼,根據一個頁面中顯示幾個頁碼、位移量、總頁數和一個頁面中顯示的頁碼數比較從而確定
頁面中顯示的第一個頁碼和最後一個頁碼,遍曆輸出所有要顯示的頁碼。
php分頁代碼及總結