1. 程式人生 > 其它 >php+mysql實現分頁程式碼

php+mysql實現分頁程式碼

mysql+php實現分頁

資料庫設計,如圖

<?php
/**
* 1.獲取頁數
*/
$page = empty($_GET['p'])?1:($_GET['p']);
/**
* 2.處理資料
*/
// 連結資料庫
$host = "127.0.0.1";
$user = "root";
$pwd = "root";
$db = "test";
$mysqli = mysqli_connect($host $user $pwd $db);
if (!$mysqli) {
echo "資料庫連線錯誤";
exit();
}
// 設定引數
$pageSize = 10;
// 查詢並顯示資料(分頁公式:(當前頁-1)*每頁顯示的條數 每頁顯示的條數)
$sql = "select * from page limit ".($page-1)*$pageSize.""."{$pageSize}";
$result = mysqli_query($mysqli $sql);
echo "<table border=1 cellspacing=1 width=30%>";
echo "<tr><td>編號</td><td>姓名</td></tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>{$row['id']}</td><td>{$row['name']}</td>";
echo "</tr>";
}
echo "</table>";
// 查詢總的頁數
$total_sql = "select count(*) from page";
$total_result = mysqli_fetch_array(mysqli_query($mysqli$total_sql));
$total = ceil($total_result[0]/$pageSize);
mysqli_close($mysqli);
/**
* 3.輸出分頁
*/
$showPage =5;// 顯示頁數
$banner_page = "<div class='page'>";
$pageOffSet = ($showPage-1)/2;//偏移量
if ($page>1) {
$banner_page.= "<a href='".$_SERVER['PHP_SELF']."?p=1'>首頁</a>";
$banner_page.= "<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'>上一頁</a>";
}
// 初始化資料
$start = 1;
$end = $total;
// 數字前的省略(該部分內容順序不可修改!!!)
if ($total>$showPage) {
if($page>$pageOffSet+1){
$banner_page .= "...";
} if($page>$pageOffSet) {
$start = $page-$pageOffSet;
$end = $total>$page+$pageOffSet?$page+$pageOffSet:$total;
}else{
$start = 1;
$end = $total>$showPage?$showPage:$total;
}if($page+$pageOffSet>$total){
$start = $start-($page+$pageOffSet-$end);
}
}
// 中間省略
for ($i=$start; $i <= $end; $i++) {
$banner_page.= "<a href='".$_SERVER['PHP_SELF']."?p=".($i)."'>{$i}</a>";
}
// 尾部的省略
if ($total>$showPage && $total>($page+$pageOffSet)) {
$banner_page.= "...";
}
if ($page<$total) {
$banner_page.= "<a href='".$_SERVER['PHP_SELF']."?p=".($page+1)."'>下一頁</a>";
$banner_page.= "<a href='".$_SERVER['PHP_SELF']."?p={$total}'>尾頁</a>";
}
// 自定義跳轉頁數
$banner_page.="共{$total}頁跳轉到<form method='get' action='".$_SERVER['PHP_SELF']."'><input type='text' name='p' size='5' />頁<input type='submit' value='跳轉'/></form></div>";
echo "$banner_page";
?>