phpbar.de logo

Mailinglisten-Archive

order by rand()

order by rand()

Michael Ott michael@zolnott.de
Mon Dec 30 19:23:09 2002


Hallo!

> ich habe eine tabelle mit bannern, von denen mit folgender query ein
> zufälliges ausgewählt werden soll:
> 
> SELECT code FROM banner WHERE type='1' AND active='1' AND notinlan='0' ORDER
> BY RAND() LIMIT 0,1
> 
> auf dem liveserver habe ich ca. 30 banner im einsatz, von denen 1 sehr sehr
> oft gezeigt wird, ein paar andere ab und zu.
> 
> ich hab es auch schon mit RAND(NOW()) probiert. half aber nichts.

Ausschnitt aus php.net
int rand ( [int min, int max])
...
In older versions of PHP, you had to seed the random number generator
before use with srand(). Since 4.2.0 this is no longer necessary.
...
See also srand(), getrandmax(), and mt_rand(). 

Welche Version hast Du?

> 
> hat jemand einen tipp, wo ich ansetzen kann um das problem zu lösen?

Bei einer 1:1-Verteilung würde ich einen "Besucherzähler" einfügen.
Mit einer Modolo-Division (%) durch die Anzahl der Banner würde jeder
Banner gleich oft gezeigt werden

CU
   
  Michael                                                      .--.
                                                              |o_o | 
--                                                            ||_/ |
  /-----------------------------------------------------\    //   \ \
  |  Michael Ott, Glockenhofstr. 29a, 90478 Nuernberg   |   (|     | )
  | e-mail: michael@ZolnOtt.de, Tel. +49 9 11 41 88 576 |  /'\_   _/`\
  \-----------------------------------------------------/  \___)=(___/

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive