php+mysql實現分頁程式碼
阿新 • • 發佈:2022-05-03
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"; ?>