phpbar.de logo

Mailinglisten-Archive

[php] zufaellige auswahl aus einer datenbank

[php] zufaellige auswahl aus einer datenbank

Guido Haeger GH-lists_(at)_ecora.de
Tue, 25 Jan 2000 12:42:33 +0100


Nico Lummascrieb


> Bei jedem Zugriff auf eine Seite soll ein Eintrag aus einer
> MySQL Datenbank zufaellig ausgewaehlt werden.
>
> Ein simples Auzaehlen aller Ergebnisse um dann die moegliche
> ID herauszubekommen, klappt ja auch nicht, da bei
> auto_increment die IDs ja einfach hoch gezaehlt werden, auch
> wenn Eintraege geloescht werden...
>
> Hat jemand eine Idee, wie man so etwas halbwegs elegant
> machen kann? So wie ich mir das vorstelle, wird einfach zu
> haeufig auf die DB zurueckgegriffen.

Da Deine Table Tipps heißt, beinhaltet sie vermutlich auch solche unzwar
nicht gerade 2 Milionen, sondern vermutlich nicht mehr als ein paar
hundert.

Also hole einfach alle ID's mit "SELECT id FROM tipps" und bringe diese
in das Array db_id. Dann machst Du ein

$zufall=rand(0,count($db_id)-1);

und gibst mit "SELECT * FROM tipps WHERE id = $db_id[$zufall]" Deinen
zufälligen Tipp aus, der garantiert immer existiert. Dann hast Du das
mit 2 DB-Zugriffen erledigt.

Guido Haeger



php::bar PHP Wiki   -   Listenarchive