Home > PHP > MySQL: Per Zufall Daten aus Tabelle anzeigen

MySQL: Per Zufall Daten aus Tabelle anzeigen

In der Regel werden Daten aus einer MySQL Datenbank gezielt abgefragt und anschließend angezeigt. Bestimmte Kategorien oder Beiträge (Posts) werden mit Hilfe der WHERE Klausel gesucht, mit den jeweiligen Vergleichsoperatoren ausgewählt und als Result ausgegeben. Um Daten aus einer Datenbank Tabelle zufällig anzeigen zu lassen, kann die MySQL Funktion RAND() genutzt werden. Die Einträge werden per Zufall Datensätze geladen.

Nehmen wir an wir haben eine Tabelle mit Artikeln, die wir per Zufall auf unserer PHP Seite anzeigen wollen. Mit einer einfachen SELECT Abfrage bestimmen wir wie gewohnt die bötigten Felder, geben den Namen der Tabelle an und setzen die Funktion RAND(), was für „random“ steht und auf Deutsch übersetzt „zufällig“ bedeutet, nach der ORDER BY Klausel ein. Statt einen Feldnamen in unserer Query einzugeben, nach der sortiert wird, geben wir die Funktion RAND() ein:

Die Daten können wir auch begrenzen, indem wir nur eine bestimmte Anzahl zufälliger Datensätze aus der Datenbank laden. Das können wir wie gewohnt mit dem Anhängen der Klausel LIMIT und der benötigten Anzahl an Datensätzen, ein Beispiel wie die SELECT Abfrage mit 5 Einträgen aussehen könnte, wäre:

Angenommen in unserer Datentabelle befinden sich 100 Einträge. Die Abfrage würde nur 5 Einträge, wie im oberen Beispiel mit LIMIT festgelegt, laden und somit die Auswahl begrenzen. Das Ergebnis aus dem Query können wir dann wie gewohnt mit weiteren PHP Funktionen verarbeiten und anzeigen lassen:

Den Code für den Aufbau einer Verbindung zu der jeweiligen Datenbank habe ich in diesem Tutorial nicht weiter beachtet, diese sollte aber vorher aufgebaut werden. 😉 Solche Abfragen kann man sehr schön auf Seiten einsetzen, um auf andere Unterseiten aufmerksam zu machen. Diese bestimmte Anzahl an Einträgen könnte man mit der Überschrift „Weitere interessante Artikel“ verlinken. Statt Sortieren laden wir nach Zufallsprinzip unsere Felder. Ich hoffe das kleine Beispiel war nützlich. 🙂

  1. Bisher keine Kommentare
  1. Bisher keine Trackbacks