Zufallsgenerator / Datenbankabfrage
Shadowcrow
- php
0 Cheatah0 suit0 Vinzenz Mai
hi @ll,
dachte mir ich könnte mich mal wieder meiner PHP Weiterbildung widmen, renne aber von einem Problem ins nächste. Ziel der Übung ist es ein "Signaturbild" zu erstellen welches mehrmals am Tag aktualisiert wird (die Signaturen kommen aus einer DB).
Es sollen zufällig Einträge ausgewählt werden, dies wollte ich so lösen:
<?php
// soll die Einträge durchzählen und eine Zufallszahl erzeugen.
$sql = "SELECT ID FROM SIGS ";
$result = mysql_query($sql) OR die(mysql_error());
$entrys = mysql_num_rows($result);
srand(microtime()*1000000);
$zufall = rand(0,$entrys);
//*****************************************************************************************************************
// soll den Datensatz dessen ID der Zufallszahl entspricht ausgeben
$sql = "SELECT Content FROM SIGS WHERE ID = $zufall";
$content = mysql_query($sql) OR die(mysql_error());
while($row = mysql_fetch_object($content))
{
$content_final = $row->Content;
}
$sql = "SELECT Author FROM SIGS WHERE ID = $zufall";
$author = mysql_query($sql) OR die(mysql_error());
while($row = mysql_fetch_object($author))
{
$author_final = $row->Author;
}
//*****************************************************************************************************************
// bild erzeugen und später noch abspeichern und nur alle 5 stunden neu erzeugen lassen
?>
Jetzt hatte ich aber beim rumbrobieren auch einiges in der DB gelöscht d.h. das die ID nicht mehr fortlaufend ist, oder wie im Moment wo die Tabelle leer ist neue Datensätze erst mit ID 10 wieder anfangen:
SELECT Content FROM SIGS WHERE ID = $zufall
SELECT Author FROM SIGS WHERE ID = $zufal
funktioniert ja nicht.......wie bekomme ich dafür einen "Zufallsgenerator" hin der eine gültige ID auswählt oder wie ändere ich die IDs in der DB?
danke und gruss
shadow
Hi,
wie bekomme ich dafür einen "Zufallsgenerator" hin der eine gültige ID auswählt oder wie ändere ich die IDs in der DB?
indem Du die Zufallsfunktion Deines DBMS verwendet. MySQL beherrscht das von sich aus.
Cheatah
funktioniert ja nicht.......wie bekomme ich dafür einen "Zufallsgenerator" hin der eine gültige ID auswählt oder wie ändere ich die IDs in der DB?
nutze für dinge die die datenbank erledigen kann die datenbankspezifische sprache - auch mysql ist in er lage zufällig zu sortieren
Hallo Shadow,
dachte mir ich könnte mich mal wieder meiner PHP Weiterbildung widmen, renne aber von einem Problem ins nächste. Ziel der Übung ist es ein "Signaturbild" zu erstellen welches mehrmals am Tag aktualisiert wird (die Signaturen kommen aus einer DB).
Es sollen zufällig Einträge ausgewählt werden, dies wollte ich so lösen:
die Suche liefert mir allein in den letzten drei Jahren weit über 50 Treffer zu
ORDER BY RAND() in Kombination mit LIMIT. [1]
Eine Suche nach "Zufallstexten aus Datenbank" wäre ebenfalls nicht erfolglos geblieben ...
Freundliche Grüße
Vinzenz
[1] Es ist schon vorteilhaft, wenn man weiß, wonach man suchen soll :-)
hi $name,
die Suche liefert mir allein in den letzten drei Jahren weit über 50 Treffer zu
ORDER BY RAND() in Kombination mit LIMIT. [1]
danke (auch an die anderen) bin garnicht auf die Idee gekommen das es dafür eine Funktion gibt.
Eine Suche nach "Zufallstexten aus Datenbank" wäre ebenfalls nicht erfolglos geblieben ...
[....]
[1] Es ist schon vorteilhaft, wenn man weiß, wonach man suchen soll :-)
ja, unbedingt, ich hatte mich gedanklich so auf den Index eingeschossen das ich die Bäume vor lauter Wald nicht mehr sah :-)
gruss
shadow