Nunja, wenn ich die Bilder/Banner in einer Datenbank habe, habe ich es viel viel einfacher.
bild1.jpg;selten
bild2.jpg;häufig
bild3.jpg;normal
das zweite Feld ist ein enum('selten','normal','häufig). Dadurch ergibt sich:
0 = selten
1 = normal
2 = häufig.
Das ganze kann ich dann sehr simpel mit einer Query selecten:
rand() taucht hier nur mehrfach auf, um die Zahlen weiter zu streuen.
Natürlich kann man den Enum beliebig erweitern, solange die Positionen im Enum die Häufigkeit als Zahl repräsentieren. enum('häufig','selten','normal','ganz oft') ginge demzufolge nicht. Oder ich ersetze einfach das enum-Feld durch eine Zahl - umso höher die zahl, desto häufiger taucht das bild auf.
bild1.jpg;selten
bild2.jpg;häufig
bild3.jpg;normal
das zweite Feld ist ein enum('selten','normal','häufig). Dadurch ergibt sich:
0 = selten
1 = normal
2 = häufig.
Das ganze kann ich dann sehr simpel mit einer Query selecten:
PHP-Code:
SELECT bild_name FROM tab1 ORDER BY (rand()*rand()*(tab1.gewichtung+0)*100) DESC LIMIT 0,1
Natürlich kann man den Enum beliebig erweitern, solange die Positionen im Enum die Häufigkeit als Zahl repräsentieren. enum('häufig','selten','normal','ganz oft') ginge demzufolge nicht. Oder ich ersetze einfach das enum-Feld durch eine Zahl - umso höher die zahl, desto häufiger taucht das bild auf.
Kommentar