php實現分頁代碼

mysql+php實現分頁
php

數據庫設計,如圖mysql


/**sql

* 1.獲取頁數數據庫

*/數據庫設計

$page = empty($_GET['p'])?1:($_GET['p']);ide

/**fetch

* 2.處理數據設計

*/blog

// 連接數據庫get

$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 "";

編號姓名

while ($row = mysqli_fetch_assoc($result)) {

{$row['id']}{$row['name']}

echo "";

}

echo "";

// 查詢總的頁數

$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 = "

";

$pageOffSet = ($showPage-1)/2;//偏移量

if ($page>1) {

$banner_page.= "首頁";

$banner_page.= "上一頁";

}

// 初始化數據

$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.= "{$i}";

}

// 尾部的省略

if ($total>$showPage && $total>($page+$pageOffSet)) {

$banner_page.= "...";

}

if ($page<$total) {

$banner_page.= "下一頁";

$banner_page.= "尾頁";

}

// 自定義跳轉頁數

$banner_page.="共{$total}頁跳轉到頁";

echo "$banner_page";

?>

相關文章
相關標籤/搜索