Schleife durchlaufen und abbrechen

stega

Erfahrenes Mitglied
Hi!
ich habe ein Problem:
Ich möchte mit PHP Daten aus einer MySQL-Datenbank holen. Es handelt sich um beliebige Texte. Diese sollen dem User aber nur einzeln angezeigt werden und per Zufallsauswahl ausgegeben werden.
Die DB-Tabelle sieht so aus:
---id -----text-----test--- (test und so is unwichtig für dieses Problem)

Jetzt soll das Script ne Zufallszahl erstellen und dann schauen, ob bei der Zufallszahl eine Textid vorhanden ist. Wenn ja, soll der Text mit SELECT herausgeholt werden.
Wenn es aber die id der zufallszahl noch nicht oder nicht mehr gibt (weil die texte auch gelöscht werden können und dann eine id-Folge wie z.B. diese entshene kann: 1,4,5,6,9,10),
dann soll eine Schleife sooft durchlaufen werden, bis eine Zahl herauskommt, bei der eine id bestehen würde.

Wie mach ich das?

Bisher habe ich mit while rumgepfuscht, aber da hat das Script mir dann nix ausgegeben außer Seitenweise Fehler...

PHP:
$query = "SELECT id, text, test FROM confess BY rand(".time().") LIMIT 1";  //das mit dem rand() hab ich hier auf diesen Seiten irgendwo gefunden
$db = mysql_query($query);
while ($db == "") {       //wenn nix da ist, soll es weiter versucht werden, bis eine zahl mit einer passenden id herauskommt
  $query2 = "SELECT id, text, test FROM confess BY rand(".time().") LIMIT 1";
  $db = mysql_query($query2);
  if($db != "") {                              //Abbruch wenn was da ist
  break;
  }
print $db;
  }

thx
 
ich versteh das auf der verlinkten Seite leider nicht.
Kann mir jemand einfach zeigen, wie ich den Code ändern muss, damit das funktioniert? *büdde* :(
 
hey...danke schön, jetzt klappts!
super, dass ihr mir geholfen habt =) stand wohl etwas auf dem Schlauch :-(
 
Zurück