Zufalls Eintrag aus der Datenbank

DarkBart

Mitglied
Wie kann ich zufällig aus de DB mit Hilfe von PHP einen Eintrag herrausfischen?? kann mir da einer helfen?

MfG
Henrik Voß
 
Das geht völlig ohne PHP einfach nur mit MySQL
PHP:
$query = "SELECT * FROM tabelle ORDER BY RAND() LIMIT 0,1";

//edit: geht wohl erst ab MySQL 3.23
 
Welche Daten möchtest du denn haben?
hast du ne Datenbank angelegt? Wenn ja, hoffentlich mit Tabellen!
Und wenn die Tabellen auch noch felder haben wäre es perfekt.

Gehen wir mal dann davon aus das das erste Feld den name ID trägt und "integer not null auto_imcrement" ist.

Dann könntest du die Select abfrage nach der ID gestallten und die ID mit der funktion "rand()" gestallten.

Versuch mal ob du es selber hinbekommtst, denn denkanstoss hab ich dir ja gegeben.

Gruss

Alexander
 
Ich würde es so probieren: Die Primärschlüssel (IDs) der entsprechenden Tabelle in ein Array einlesen. Danach die maximale Anzahl der Datensätze ermitteln. Mit der Funktion rand(0, maxwert-1); einen zufälligen Array-Index auswählen. Damit hast Du eine zufällig ID eines Datensatzes ausgewählt. Und anschließend holst Du den kompletten Datensatz anhand der zufällig ermittelten ID.

Gruß, snuu
 
Das ist ganz einfach
ich geh jetzt mal davon aus dass du die einträge in deiner Datenbank mit einer ID versehen hast.
dann benutzt du einfach die Funktion rand().
mit rand() wird eine Zufallszahl bestimmt, du kannst in den klammern die ober und unter grenze für die zufallszahl angeben.
Also wenn du die Menge der Einträge in deinen DB weisst könnte das Script so aussehen:
PHP:
//Datenbankverbindung usw. hier hin
$random_id = rand(1, 100);        
//100 musst du durch die Anzahl der Eintäge in der DB ersetzten
$sql = "SELECT * FROM tabelle WHERE ID=".$random_id."";
//jetzt kannste den Eintrag mit mysql_query ausgeben usw.
Ich habs ein bisschen mit der PHP Syntax, denek aber das des so geht :)
MfG Pcnub
[edit]
ist das selbe Prinzip wie bei den anderen bloß etwas genauer erklärt :)
[/edit]
 
MySQL ist weit mehr als SELECT, INSERT und DELETE

Wozu all die PHP-Workarounds ? In den meisten Fällen reicht doch einfach die erweiterte Query Zeile. Und das ist reines SQL.
 
@leuchte: Natürlich hast Du Recht, aber er hat die Datenbank nicht spezifiziert. Sehr wahrscheinlich ist es MySQL .. doch wenn es nun doch Progress ist?
 
@Pcnub

gib dir nen tipp:

machs niemals so, denn wenn gerade der datensatz mit dieser id gelöscht wurde -> bekommst du keine ausgabe! ;)

greetz Nova
 
Zurück