具有隨機排序的PHP MySQL 分頁
在試圖防止重複結果並確保不同的集合時,在MySQL 分頁中維護隨機排序可能會帶來挑戰第一頁。以下是這些問題的解決方案:
1.防止重複結果
要排除後續頁面上以前看到的結果,請使用基於以前獲取的行的排除條件來增強SQL 查詢。利用PHP 陣列儲存所取得的內容,並在查詢中加入排除條件:
<code class="php">$excludeIDs = []; // Array to store excluded IDs $query = "SELECT * FROM table "; if(!empty($excludeIDs)) { $query .= "WHERE id NOT IN (" . implode(",", $excludeIDs) . ") "; } $query .= "ORDER BY RAND() LIMIT 0,10;";</code>
2.首頁上的不同結果
是的,透過向RAND () 函數引入種子值,可以將分頁與隨機排序一起使用。透過改變種子(例如,根據時間或使用者的 IP 位址),您每次都可以獲得不同的結果集。
3.使用 RAND(SEED)
使用 RAND(SEED) 指定種子值來影響隨機排序。透過設定一個常數整數作為種子,可以控制結果序列:
<code class="php">$seed = 521; // Example seed value $query = "SELECT * FROM table ORDER BY RAND(" . $seed . ") LIMIT 0,10;";</code>
以上是如何在 MySQL 分頁中保持隨機排序而不重複或固定首頁結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!