webForumDet fria alternativet

Select * from bannerrotation ORDER BY RAND() LIMIT 1

6 svar · 346 visningar · startad av fundersam

fundersamMedlem sedan aug. 2002101 inlägg
#1

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?

PeWMedlem sedan juni 200010 432 inlägg
#2

Tråd flyttad från php

//PeW

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Du kanske skulle in något slumpmässigt frö.

select * from t order by rand(unix_timestamp(now())) limit 1
fundersamMedlem sedan aug. 2002101 inlägg
#4

Det e inte random iaf... =(

UrMeMedlem sedan apr. 2001762 inlägg
#5

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.

UrMeMedlem sedan apr. 2001762 inlägg
#6

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

startailMedlem sedan sep. 2000155 inlägg
#7

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 ;)

132 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)