PHP-MySQL-Paginierung mit zufälliger Reihenfolge
Wie bereits erwähnt, hat eine Website ein Problem damit, Suchergebnisse auf ihrer Inhaltsseite mithilfe einer Paginierung zu ordnen System. Die verwendete SQL-Abfrage lautet wie folgt:
<code class="sql">SELECT * FROM table ORDER BY RAND() LIMIT 0,10;</code>
Dieses Problem tritt in drei Szenarien auf:
Lösung:
Die MySQL RAND(SEED)-Funktion behebt dieses Problem. In der Dokumentation heißt es: „Wenn ein konstantes ganzzahliges Argument N angegeben wird, wird es als Startwert verwendet.“ (http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_rand).
Die Anwendung auf die Beispielabfrage führt zu einem Szenario, in dem die Reihenfolge zufällig bleibt für einen bestimmten Seed konsistent sein:
<code class="sql">SELECT * FROM your_table ORDER BY RAND(351);</code>
Der Seed kann jedes Mal geändert werden, wenn der Benutzer auf die erste Ergebnisseite zugreift, und in seiner Sitzung gespeichert werden. Dadurch wird bei jedem Besuch der ersten Seite eine andere zufällige Reihenfolge gewährleistet, ohne dass die zufällige Reihenfolge der nachfolgenden Seiten beeinträchtigt wird.
Das obige ist der detaillierte Inhalt vonWie implementiert man Paginierung mit zufälliger Reihenfolge in PHP MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!