Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie implementiert man Paginierung mit zufälliger Reihenfolge in PHP MySQL?

Susan Sarandon
Freigeben: 2024-10-24 07:57:02
Original
583 Leute haben es durchsucht

How to Implement Pagination with Random Ordering in PHP MySQL?

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>
Nach dem Login kopieren

Dieses Problem tritt in drei Szenarien auf:

  1. Ausschluss zuvor gesehener Ergebnisse: Wenn ein Benutzer navigiert Um zur nächsten Seite zu gelangen, müssen zuvor angezeigte Ergebnisse von nachfolgenden Abfragen ausgeschlossen werden, während die zufällige Reihenfolge beibehalten wird.
  2. Neue Ergebnisse auf Seite 1: Der Benutzer stößt bei der Rückkehr zur ersten immer wieder auf eine zufällige Reihenfolge Seite. Dieses Verhalten wirft die Frage auf, ob die Paginierung in diesem Szenario effektiv genutzt werden kann.
  3. Praktische Implementierung von Seed: Erkundung von Möglichkeiten zur Implementierung der Seed-Funktion in MySQL, um die gewünschte zufällige Reihenfolge zu erreichen.

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>
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage