php mysql 分组 分页_简单的PHP+Mysql实现分页
1 <?php2 /**3 * PHP+Mysql實現分頁4 * **/
5 ?>
6
7
8
9
10
11
12 /**/
13 body{14 font-size:12px;FONT-FAMILY:verdana;width:100%;15 }16 /**/
17 div.page{18 text-align:center;19 }20 /**/
21 div.page a{22 border :#aaaadd 1px solid;text-decoration:none;padding:2px 5px 2px 5px;margin:2px;
23 }24 /**/
25 div.page span.current{26 border:#000099 1px solid;background-color:#000099;padding:4px 6px 4px 6px;margin:2px;color:#fff;
27 font-weight:bold;28 }29 /**/
30 div.page span.disable{31 border:#eee 1px solid;padding:2px 5px 2px 5px;margin:2px;color:#ddd;
32 }33 /**/
34 div.page form{35 display:inline;36 }37 /**/
38 div.content{39 height:300px;40 }41
42
43
44 <?php45 /*echo "
";46 print_r($_SERVER);*/47 /**1、傳入頁碼**/
48 $page = $_GET['p'];//用GET方法得到頁碼
49 /**2、根據頁碼取出數據:php->mysql的處理**/
50 //配置項
51 $host = "localhost"; //數據庫地址
52 $username = "root"; //登錄用戶名
53 $password = ""; //密碼
54 $db = "test"; //所用數據庫
55 $pageSize = 10; //每一頁的內容數量
56 $showPage = 5; //能直接顯示的頁碼數量57 //連接數據庫
58 $conn = mysql_connect($host,$username,$password);59 if(!$conn){60 echo "數據庫連接失敗";61 }62 //選擇數據庫
63 mysql_select_db($db);64 //設置編碼格式
65 mysql_query("SET NAMES UTF8");66 //編寫sql獲取分頁數據select *from 表名 limit 起始位置,顯示條數
67 $sql = "SELECT * FROM page LIMIT ".(($page - 1) * $pageSize).", $pageSize";68
69 //執行sql語句后得到資源句柄
70 $result = mysql_query($sql);71 //var_dump($result);72
73 //為一個div塊,放置網頁內容
74 echo "
";75 echo "| ID | NAME |
78 while($row = mysql_fetch_assoc($result)){79 echo "
";80 echo "{$row['id']}";81 echo "{$row['name']}";82 echo "";83 }84 echo "";85 echo "";8687 //釋放結果,關閉連接
88 mysql_free_result($result);89 //獲取數據總數
90 $total_sql = "SELECT COUNT(*) FROM page";91 $total_result = mysql_fetch_array(mysql_query($total_sql));92 $total = $total_result[0];93 //計算出總的頁碼數
94 $total_pages = ceil($total/$pageSize);95
96 mysql_close($conn);97 /**3、顯示數據 + 分頁條 **/
98 //初始化分頁條,并放入div塊中
99 $page_banner = "
";100 //計算偏移量101 $pageOffset = ($showPage - 1)/2; //根據顯示頁碼數計算偏移量102
103 //如果在第一頁則隱藏首頁與上一頁
104 if($page > 1){105 $page_banner .= "首頁";106 $page_banner .= "";107 }else{108 $page_banner .= "首頁";109 $page_banner .= "";110 }111
112 //初始化數據
113 $start = 1; //能夠直接選定的頁碼的首位
114 $end = $total_pages; //能夠直接選定的頁碼的末位115 //如果總頁數大于顯示的頁數,進行隱藏,分兩種情況
116 if($total_pages > $showPage) {117 //頭部省略
118 if($page > $pageOffset + 1){119 $page_banner .= "...";120 }121
122 //分別討論首末位頁碼的大小
123 if($page > $pageOffset){124 $start = $page - $pageOffset;125 //末尾頁碼需要分情況討論
126 $end = $page + $pageOffset < $total_pages ? $page + $pageOffset : $total_pages;127 }else{128 $start = 1;129 $end = $total_pages > $showPage ? $showPage : $total_pages;130 }131 //當前頁加上偏移量大于總頁碼的情況
132 if($page + $pageOffset > $total_pages){133 $start = $start - ($page + $pageOffset - $end);134 }135 }136
137 //顯示頁碼連接
138 for($i = $start;$i <= $end;$i ++){139 if($page == $i){140 $page_banner .= "{$i}";141 }else{142 $page_banner .= "{$i}";143 }144 }145
146 //尾部省略
147 if($total_pages > $showPage && $page + $pageOffset < $total_pages){148 $page_banner .= "...";149 }150 //如果在最后一頁則隱藏尾頁與下一頁
151 if($page < $total_pages){152 $page_banner .= "下一頁>";153 $page_banner .= "尾頁";154 }else{155 $page_banner .= "下一頁>";156 $page_banner .= "尾頁";157 }158
159 //跳轉頁碼的實現
160 $page_banner .= "共{$total_pages}頁,";161 $page_banner .= "
";162 $page_banner .= "到頁";163 $page_banner .= "";164 $page_banner .= "";165166 //將分頁條輸出
167 echo $page_banner;168
169
170
171
172
173
174
175
176
177
178
179 ?>
180
181
總結
以上是生活随笔為你收集整理的php mysql 分组 分页_简单的PHP+Mysql实现分页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql stop很久_mysql的t
- 下一篇: k8s 查看mysql 日志_k8s 使