我不確定如何調用這個函數,但我會盡可能描述我想達到的效果。通過MySQL循環播放結果
所以,首先,有一個變量,稱爲$id
,其實際上是$_GET['id']
。假設用戶通過請求輸入以下頁面:/page.php?id=6
。現在我需要做的是提供關於數據庫後面3頁的信息。這裏是數據庫:
TABLE `pages`
id | page_name
______________________
1 | AAAAA
2 | BBBBB
3 | CCCCC
4 | DDDDD
5 | EEEEE
6 | FFFFF
7 | GGGGG
8 | HHHHH
9 | IIIII
所以,當請求頁面id爲6
,下面的腳本返回下一個3頁(7,8,9):
$res = mysql_query("SELECT * FROM `pages` WHERE `id`>'".intval($id)."' ORDER BY `id` DESC LIMIT 3");
while($arr = mysql_fetch_assoc($res))
{
print("Page ID: ".$arr['id']."; Page Name: ".$arr['page_name']."\n");
}
這裏是輸出:
Page ID: 7; Page Name: GGGGG
Page ID: 8; Page Name: HHHHH
Page ID: 9; Page Name: IIIII
,它工作正常,直到$id
是大於6,當它是(/page.php?id={7/8/9}
),輸出不顯示3頁了,而是2頁,1個PAG e,當$id
爲9
時,分別沒有輸出。
所以我的問題是:有沒有一種方法可以返回並從沒有足夠的結果(小於3)開始顯示?
- 當訪問
/page.php?id=8
,輸出應包含ID9
,1
和2
頁面。 - 訪問
/page.php?id=9
時,輸出應包含頁面,其編號爲1
,2
,3
。 - 訪問
/page.php?id=3
時,輸出應該包含編號爲4
,5
,6
等的頁面。
你的意思是比執行查詢的第二次沒有WHERE條件和其他基於您第一次獲得的結果數量的LIMIT? – Oswald