Zufall mySQL

BlackJack

Mitglied
Ich hab mich schon immer mal gefragt ob man Zufalls auslesungen machen kann. Ich habe eine Datenbank und möchte jetzt aus einer Tabelle etwas auaslesen. Ich will aber nix bestimmtes auslesen, sondern irgendwas, also per Zufall. Wenn ich jetzt 20 Einträge in der Spatle Zahlen hab (1-20) soll er mir einen herausholen und ausgeben z.B.: 15. Weiß wer ob das geht?
 
also:
srand((double)microtime()*1000000); //setzt Anfangswert(hier die microsekunde)
echo rand(1,20); //-- gibt irgendwas zwischen 1 und 20 aus

wenn du das speziell bei db machen willst ermittelst du einfach dden höchsten und den niedrigsten wert, dann rand($wert1, $wert2); und mit der zahl ließt du dann die db aus...

cYa
 
...

Hi,

also soviel ich weis, gibts bei PHP doch nen Zufallsgenerator (den Code kenn ich jezz net auswendig), mit dem könntest ja eine zufällige variable zwischen meinetwegen 1 und 1000000 generieren, und mit der dann deine datenbank auslesen. Kannst die Zufallszahl ja als ID oder so nehmen.

Über diesen Zufallsgenerator musst dich allerdings informieren, ich weiss nur dass es diesen gibt, ganz sicher.

bye
 
@ blubber:
-|sPoNTaN|- hat genau diese funktion geposted

mit srand(); und rand();
srand kannst du auch selber bestimmen
aber wird oft mit time-funktion verwended das die rand()-funktion noch besser funktioniert 3-)
 
Der Haken an der Sachen ist, dass Datenbank einträge nur im Idealfall von 1 bis n durchnummeriert sind. Zumindest geilt das für solche DB's wo ständig was reingeschriben und gelöscht wird.

So Long
TheVirus
 
Macht es euch doch ned so kompliziert :-)

PHP:
$sql = "SELECT * FROM tbl ORDER BY RAND() LIMIT 1";

Ab mySQL Version. 3.23 oder höher
(Hat aber eh jeder :P)
 
Wenn du wüßtest was ich weiß, würdest du denken du weißt nichts :-)
*loooooooooooooooool*

Ne, Spaß bei Seite, es gibt soviele Dinge die nicht dokumentiert sind. Einfach ein bischen Logik walten lassen und probieren. Viele Befehle und Funktionen lassen sich kombinieren... dann passt das schon.

Den SQL Befehl kannst übrigens auch erweitern. Mach anstatt LIMIT 1 einfach mal 3 oder 5 :-)

CU
 
Ohh.. vielen dank für den Tipp! Wäre ich von alleine nie drauf gekommen! Bin zwar kein Moderator aber kenn mich trotzdem ein wenig aus! :-)

So Long
TheVirus
 
Aber verbindet man "lernen" mit Spaß bleibt es im Kopf. Brauchst du das Script in einem Jahr fällt es dir gleich wieder ein weil du an diesen Tread denken mußt.

Man kann es auch als Spam auslegen, aber so ist es nicht gemeint. Ich versuche immer ein bischen witz mit rein zu bekommen das die Leute sich das Zeugs auch merken ...
 

Neue Beiträge

Zurück