phpbar.de logo

Mailinglisten-Archive

[php] mysql random

[php] mysql random

Michael Koch php_(at)_phpcenter.de
Tue, 3 Apr 2001 16:38:22 +0200


Am Die, 03 Apr 2001 schrieben Sie:
> ist ot, aber vielleicht gibt mir ja einer einen tip.
> 
> ich habe eine tabelle "Fragen" mit folgenden feldern:
> 
> ********************************
> *Frag_Id*Frag_txt*Pic_path*F_Kat_Id*
> ********************************
> 
> Nun möchte ich per Zufall eine Frage auswählen,
> und die Frag_ID in der session ablegen, damit sie nicht nochmal
> drankommt
> 
> Ich bräuchte mal einen schubser, wie man zufällig eine Zeile aus einer
> Tabelle ausliest,
> Danke.
> 
> P.S.:soweit ich das MYSQL-Man gelesen habe, gibt es ein Order by Rand().
> Ist das der richtige Weg?

Das kommt drauf an wieviele Fragen du hast. Mit ORDER BY RAND() musst du
jedesmal die komplette Tabelle zurückgeben. Das kostet Zeit.

Ich würde einmal schauen wieviel Fragen in der Tabelle sind:

SELECT COUNT(*) FROM Tabelle

und dann mit PHP einen davon zufallig auswählen:

SELECT * FROM Tabelle LIMIT $random, 1


Vielleicht kannst du aber das ORDER BY RAND() und LIMIT mischen sodass nur eine
Frage zurückgegeben wird.


Gruss,
Michael


php::bar PHP Wiki   -   Listenarchive