rotacia obrazkov pri refreshi

Programovacie jazyky, rady, poradňa...
Fortune
Light Professional
Light Professional
Príspevky: 777
Registrovaný: 01 nov 2005, 14:27
Bydlisko: Košice
Kontaktovať používateľa:

rotacia obrazkov pri refreshi

Príspevok od používateľa Fortune »

ahojte,
chcel by som na webke spravit nieco take, budem mat niekolko verzii horneho banneru, ktore by rotovali pri presune na inu sekciu alebo refreshi stranky, googloval som ale velmi som si nepomohol, mohol by mi dakto helpnut alebo ma naviest na nejaky navod?

dik :)
neppo
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 774
Registrovaný: 09 jún 2005, 15:33

Príspevok od používateľa neppo »

nazvy obrazkov-bannerov si uloz do db a daj nieco taketo

Kód: Vybrať všetko

...
$count = mysql_query("select max(id) as maximum from banners");
$last = mysql_fetch_array($count);

$check = FALSE;
while (!$check) { // zaruci ze nahodne cislo bude zodpovedat aspon 1 obrazku; osetrenie auto_increment
$id = rand(0,$last['maximum']); 
$select_banner = mysql_query("select banner_url from banners where id = '$id'"); //banner_url - tam bude ulozena cesta k obrazku
if (mysql_num_rows==1) { $check = TRUE; }
}
$banner = mysql_fetch_array($select_banner);

echo "<img src='".$banner['banner_url']."'>";
...
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Osobne by som asi namiesto toho cyklu použil v niečo ako

Kód: Vybrať všetko

"SELECT banner_url FROM banners LIMIT " . mt_rand(0, $pocet_riadkov-1) . ", 1"
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

chrono napísal:Osobne by som asi namiesto toho cyklu použil v niečo ako

Kód: Vybrať všetko

"SELECT banner_url FROM banners LIMIT " . mt_rand(0, $pocet_riadkov-1) . ", 1"
ja by som zas do toho vobec nepchal php.

Kód: Vybrať všetko

SELECT banner_url FROM banners ORDER BY rand() LIMIT 1
neppo
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 774
Registrovaný: 09 jún 2005, 15:33

Príspevok od používateľa neppo »

mastermind napísal:ja by som zas do toho vobec nepchal php.

Kód: Vybrať všetko

SELECT banner_url FROM banners ORDER BY rand() LIMIT 1
alebo hentak sa to da :)
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

mastermind napísal:ja by som zas do toho vobec nepchal php.

Kód: Vybrať všetko

SELECT banner_url FROM banners ORDER BY rand() LIMIT 1
Pri malej tabuľke je ten tvoj spôsob dobrý, ale pri veľkej to nebude najlepšie riešenie (ale tých banerov tam určite veľa mať nebude, takže je to jedno).
sundevil
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4169
Registrovaný: 18 mar 2005, 12:03
Bydlisko: BA

Príspevok od používateľa sundevil »

vsetky sposoby budu take dobre aky dobry bude generator pseudonahodnych cisiel
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Na pár banerov by som osobne radšej použil php súbor (a neukladal by som to do DB) a použil by som funkciu mt_rand (je lepšia ako rand).
Fortune
Light Professional
Light Professional
Príspevky: 777
Registrovaný: 01 nov 2005, 14:27
Bydlisko: Košice
Kontaktovať používateľa:

Príspevok od používateľa Fortune »

no tych bannerov viac ako pat urcite nebude, chrono vies ma nasmerovat nejak dalej, ten tvoj sposob sa mi pozdava celkom, bohuzial v php som dost lama

EDIT: vyriesene kamarat mi poradil toto:

Kód: Vybrať všetko

<?
$images = array("obrazky/img1.gif",
"obrazky/img2.gif",
"obrazky/img3.gif",
"obrazky/img4.gif");
mt_srand(time());
$random_index = mt_rand(1, (count($images)));
$random_index--;
?>

<img src="<? echo "$images[$random_index]" ?>" >.
dik vsetkym za rady :)
Napísať odpoveď