上一節中,我們了解到通過循環可以獲取一個查詢的所有數據,在實際應用中,我們并不希望一次性獲取數據表中的所有數據,那樣性能會非常的低,因此會使用翻頁功能,每頁僅顯示10條或者20條數據。
通過mysql的limit可以很容易的實現分頁,limit m,n表示從m行后取n行數據,在PHP中我們需要構造m與n來實現獲取某一頁的所有數據。
假定當前頁為$page,每頁顯示$n條數據,那么m為當前頁前面所有的數據,既$m = ($page-1) * $n,在知道了翻頁原理以后,那么我們很容易通過構造SQL語句在PHP中實現數據翻頁。
$page = 2; $n = 2; $m = ($page - 1) * $n; $sql = "select * from user limit $m, $n"; $result = mysql_query($sql); //循環獲取當前頁的數據 $data = array(); while ($row = mysql_fetch_assoc($result)) { $data[] = $row; }
在上面的例子中,我們使用了$m與$n變量來表示偏移量與每頁數據條數,但我們推薦使用更有意義的變量名來表示,比如$pagesize, $start, $offset等,這樣更容易理解,有助于團隊協作開發。
構建分頁查詢語句,實現翻頁功能。
在第10行以后輸入以下代碼
$offset = ($page - 1) * $pagesize; $sql = "select * from user limit $offset, $pagesize";
請驗證,完成請求
由于請求次數過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報