我正在使用rand()函數從一個有50條記錄的表中查找5條記錄。在mysql中的隨機查詢,但顯示新的記錄
我希望在頁面刷新時會顯示新記錄。
就像第一次刷新5記錄將顯示在第二次刷新下5記錄將顯示等等。
完成記錄後,頁面應從開始顯示。
這不是分頁記錄正在更新每個刷新。
感謝
我正在使用rand()函數從一個有50條記錄的表中查找5條記錄。在mysql中的隨機查詢,但顯示新的記錄
我希望在頁面刷新時會顯示新記錄。
就像第一次刷新5記錄將顯示在第二次刷新下5記錄將顯示等等。
完成記錄後,頁面應從開始顯示。
這不是分頁記錄正在更新每個刷新。
感謝
可以使用的記錄會話計數器,另一個數組的記錄,已經較早wshowed。達到極限後 - 只需從會話中清除該計數器即可。
如果我理解你正確,這是你想要什麼:
if(!isset($_SESSION['page'])){
$_SESSION['page']=0; //set a session variable if not set
}
//here sql query to get the records somehthing like SELECT * FROM table LIMIT $_SESSION['page']*5 5
$_SESSION['page']++; //increase the session variable
if($_SESSION['page']>10){
$_SESSION['page']= 0; //return to first record after all records are done (10*5=50)
}
我想插入SQL查詢不會是什麼大問題,但一個例子:
$query = 'SELECT * FROM table LIMIT '.($_SESSION['page']*5).' '.5;
注意,當你開始在你的sql查詢中使用用戶輸入,你應該使用準備好的語句。
你說「下5條記錄」和「完成記錄後,頁面應該從開始顯示」。所以它不應該是完全隨機的?你究竟試過了什麼?你可以發佈一些代碼嗎? – 2013-04-25 06:53:18
也可能會再次出現隨機記錄。你正在嘗試的不是隨機的,而是分頁 – 2013-04-25 06:54:25