2013-01-16 31 views
-3

我想在PHP中執行像分頁這樣的東西,所以我正在記錄或限制0,10 這裏以這個限制數據爲例,我應該知道第11條記錄是否存在我可以在顯示之前減少一個函數調用以獲取並檢查記錄是否存在。我正在使用PHP,MySQL。檢查下一條記錄是否存在

+0

'SQL_CALC_FOUND_ROWS'。 – eggyal

+0

SQL_CALC_FOUND_ROWS它將返回no行返回ri8 ??? –

+0

是的,它將返回與查詢中指定的條件相匹配的行的總數。檢查[this](http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows)out –

回答

1

取0,11(然後是10,11; 20,11等),但顯示前10位。這樣您將總是知道下一頁是否存在(通過檢查是否存在第11條記錄)。

+0

我也有這個想法,但我需要從返回結果中刪除最後一條記錄。那是浪費知道嗎? –

+0

好吧,我會嘗試 –

+0

我假設你只要有數據就用while循環遍歷mysqli結果。添加一個變量$ i = 1;並編輯你的while條件爲'while(/ * *不是結果* /&$ $ i <= 10)'。確保你也增加了它。現在,循環結束後,檢查結果是否還有一行並適當地執行。 –

1

隨着分頁我想去任何網頁。所以在顯示任何數據之前。我會查詢數據庫上的COUNT以瞭解有多少條記錄。然後建立你的頁面導航。

或者你只想顯示上一個/下一個?而不是像:

Previous - 2 3 4 5 - Next

所以我會用

SELECT COUNT(`id`) as `NumberOfRows` FROM `tablename` 
1

只是要選擇

如/

SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name 
WHERE id > 100 LIMIT 10; 

後的字段前添加SQL_CALC_FOUND_ROWS發射你的查詢w ith limit,你可以觸發下面提到的查詢來獲得總記錄數

SELECT FOUND_ROWS();