phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?RE:_=5Bphp=5D_Re:_=5Bphp=5D_Datens=E4tze_aus_DB_ =3D=3E?= =?iso-8859-1?Q?_mit_Zuf_all_abfragen?=

[php] RE: [php] Re: [php] Datensätze aus DB => mit Zuf all abfragen

André Frimberger php_(at)_phpcenter.de
Tue, 10 Sep 2002 22:45:07 +0200


> -----Original Message-----
> From: php-admin_(at)_phpcenter.de [mailto:php-admin_(at)_phpcenter.de]
> On Behalf Of Heiko Ziebell
> Sent: Tuesday, September 10, 2002 10:17 PM
> To: php_(at)_phpcenter.de
> Subject: [php] Re: [php] Datensätze aus DB => mit Zuf all abfragen
>
>
> Hi;
>
> Sind beides gute Ansätze, mit leben kann ich aber nicht. Zum
> einem arbeite ich mit InterBase & Firebird und durchsuche ca.
> 20.000 Datensätze in einem Druchlauf. Ich glaube ich werde
> mir eine mathematische PHP Funktion einfallen lassen, damit
> ich die SQL Abfrage nicht zu sehr belaste.
ja, ich würde einfach beides kombinieren...
1. ne laufende Nummer einfügen
2. per random abfragen (RANDOM bei mysql)
3. auf Ergebnis prüfen (mysql_num_rows)
4. wenn num_rows = 0, dann nochmal bei 2 einsteigen...

müsste wohl schneller sein, als erst alle 20k records zu
fetchen und in php irgendnen randomizer zu bauen!
Denn die Wahrscheinlichkeit, dass du einen gelöschten
Datensatz erwischt müsste irgendwo bei
(Anz. gelöschter Datensätze) / Anzahl Datensätze liegen...

>
> Vielen Dank HEIKO
>
>
> > Hallo Liste,
> >
> > Am Dienstag, 10. September 2002 um 21:59 tipperte Ringo:
> >
> > > From: "Heiko Ziebell" <php_(at)_doopmedia.at>
> > >> Ich habe suche eine Möglichkeit, mit der ich Ergebnisse einer
> > >> Datenbankabfrage nach Zufall anzeigen lassen kann. Damit
> meine ich
> > >> das
> ich
> > >> immer einen anderen ersten Datensatz auf der Homepage
> sehen möchte.
> >
> > > vergib doch jedem datensatz eine fortlaufende id.
> > > dann generierst du dir innerhalb der max id eine
> zufällige zahl und
> > > den datensatz liest du dann halt aus und zeigst ihn an.
> >
> > und baust noch eine Abfrage ein, ob der DS mit der ID auch
> existiert.
> > mysql_num_rows() = 1, DS existiert, ok.
> > mysql_num_rows() = 0, DS existiert nicht, nochmal zufällig
> generieren
> > oder hochzählen.
> >
> > Wenn Datensätze gelöscht wurden, gibt es Löcher in der
> Reihe der IDs.
> --
> ** http://www.php-center.de **
> Die PHP-Liste: mailto: php_(at)_phpcenter.de
> http://lists.phpcenter.de/mailman/listinfo/php


php::bar PHP Wiki   -   Listenarchive