webForumDet fria alternativet

hämta radom post i databasen limit 1

PHP

5 svar · 232 visningar · startad av Qonos

Medlem sedan sep. 2000438 inlägg
Frågan#1

Jag vill hämta en post från databasen som skall slumpas ut, men hur jag än skriver så blir det alltid samma som öppnas.

Detta är min senaste kod. (som inte fungerar)

$content = array();
$sql = "SELECT id,name,keywords,description from tblGroups where status = 2 ORDER BY RAND() LIMIT 1";
$rs = mysql_query($sql);
$rw = mysql_fetch_array($rs);
$content[] = "<i>".$rw["keywords"]."</i><br>".$rw["description"];
print_gray_table( $rw["name"], $content, 300 );
Medlem sedan sep. 20011 086 inlägg
#2

finns bara en rad med status=2?
annars, testa: RAND(UNIX_TIMESTAMP())

/r
Tycker förövrigt att du borde ställa den i Mysql-forumet och inte php-forumet...

Medlem sedan sep. 2000438 inlägg
#3

hehe nej sånt misstag har jag inte gjort, då hade jag aldrig vågat visa mig här igen *s*

"testa: RAND(UNIX_TIMESTAMP())"

hmm gjorde detta.. visa en annan post, men det slumpas inte utan visar den hela tiden

Medlem sedan sep. 2000438 inlägg
#4

testade att köra den direkt i databasen oxå så det kan inte vara nått cacheproblem

Medlem sedan maj 2002647 inlägg
#5

Jag har för mig att rand() är ganska dåligt på att slumpa... det kan ju köra samma rad 10 gånger på raken... har jag för mig i alla fall

Medlem sedan sep. 2000438 inlägg
#6

mm jag har kört den 30 gånger o det blir samma sak.. finns det nått annat bra sätt att slumppa på om man skippar rand() ?

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)