ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
573
573
EMPFEHLEN
-
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...
thxPHP-Code:$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;
}
-
02.01.05 15:36 #2
- Registriert seit
- Jan 2004
- Beiträge
- 1.072
Dein SQL-Query ist einfach falsch.
http://dev.mysql.com/doc/mysql/de/Ma...s.html#IDX1221
Eine Schleife brauchst du nicht.
-
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*
-
MySQL-Funktionen werden normalerweise in Großbuchstaben geschrieben – es kann jedoch sein, dass auch klein geschriebene korrekt erkannt werden. Desweiteren verwendest du einen von MySQL reserviertes Wort. Um dies trotzdem verwenden zu können, musst du es eindeutig durch sog. Backticks (`, Akzent grave) als Datenbank-, Tabellen-, Index-, Spalten- oder Alias-Namen auszeichnen.
-
02.01.05 16:19 #5
- Registriert seit
- Jan 2004
- Beiträge
- 1.072
Was kann man daran nicht verstehen?SELECT * FROM tabelle ORDER BY RAND()
-
hey...danke schön, jetzt klappts!
super, dass ihr mir geholfen habt =) stand wohl etwas auf dem Schlauch
Ähnliche Themen
-
map mit einer for-Schleife durchlaufen?
Von LadyMarion im Forum C/C++Antworten: 2Letzter Beitrag: 04.08.08, 12:05 -
Schleife abbrechen
Von gygra im Forum Flash PlattformAntworten: 0Letzter Beitrag: 11.07.07, 23:38 -
For Each schleife abbrechen
Von derfragende79 im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 11.03.05, 16:37 -
Schleife abbrechen...
Von Havoc2k im Forum C/C++Antworten: 10Letzter Beitrag: 02.02.05, 13:13 -
for schleife abbrechen
Von laor im Forum PHPAntworten: 11Letzter Beitrag: 03.06.03, 19:58





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren