Denna koden borde ju fungera, men den väljer bara den senaste av bannrarna inlagda (Förutom ungefär var 50:e gång, då dyker banner 2 upp, men aldrig banner #1).
Vet någon vad som kan vara fel?
6 svar · 346 visningar · startad av fundersam
Denna koden borde ju fungera, men den väljer bara den senaste av bannrarna inlagda (Förutom ungefär var 50:e gång, då dyker banner 2 upp, men aldrig banner #1).
Vet någon vad som kan vara fel?
Du kanske skulle in något slumpmässigt frö.
select * from t order by rand(unix_timestamp(now())) limit 1
Det e inte random iaf... =(
Jag har _exakt_ samma problem ...
Men jag har 3 sådana mysql frågor som slumpar saker från olika tabeller.. 2 är samma tabell så här:
$topic_loopen = mysql_query("SELECT * FROM topic_loop WHERE kategori = 'topic' ORDER BY RAND() limit 1");
$slumploop = mysql_query("SELECT * FROM banner_loop WHERE bild_kategori = 'loop' AND bild_lank <> '' ORDER BY RAND() limit 1");
$rowslumploop = mysql_fetch_array($slumploop);
$slumpadd = mysql_query("SELECT * FROM banner_loop WHERE bild_kategori = 'add' AND bild_lank <> '' ORDER BY RAND() limit 1");
$rowslumpadd = mysql_fetch_array($slumpadd);
Bara en del av koden det där.. men som sagt så slumpar den bara de 2 undre.. och tar samma bild i princip hela tiden på $topic_loopen.
Men om jag byter plats på t.ex topic_loopen och slumpadd så blir det random på topic_loopen men inte slumpadd .. så den slumpar aldrig mysql frågan som är högst upp i koden..
Vad beror detta på? ...
För övrigt så funkade slumpadd och slumploop bra innan jag la till topic_loop.
Löstes med att göra så här på mysql frågorna:
$topic_loopen = mysql_query("SELECT idnr, bild_url, kategori, MD5( RAND( ) ) AS myRandom FROM topic_loop WHERE kategori = 'topic' ORDER BY myRandom limit 0,1");
$slumpadd = mysql_query("SELECT bild_id, bild_lank, bild_kategori, adress, target, MD5( RAND( ) ) AS myRandom FROM banner_loop WHERE bild_kategori = 'add' AND bild_lank <> '' ORDER BY myRandom limit 0,1");
$slumploop = mysql_query("SELECT bild_id, bild_lank, bild_kategori, adress, target, MD5( RAND( ) ) AS myRandom FROM banner_loop WHERE bild_kategori = 'loop' AND bild_lank <> '' ORDER BY myRandom limit 0,1");
:P
Jag fick inte exeplet innan att funka...
Men även detta funkade bra...
$userQuery = "SELECT * FROM members WHERE ref = '$user' AND ref_count < '3' ORDER BY MD5( RAND( ) )";
Så nu sparade jag ett nytt inlägg :) Tack för att nu diskuterat detta innan typ ;)