Ciao a tutti...
Come si fa a scegliere un record in modo casuale?
Grazie e ciao![]()
Ciao a tutti...
Come si fa a scegliere un record in modo casuale?
Grazie e ciao![]()
ORDER by rand()Originariamente inviato da FinalFantasy
Ciao a tutti...
Come si fa a scegliere un record in modo casuale?
Grazie e ciao![]()
![]()
ciao,
io ho 2 record:
1 2004-05-01 2004-07-01 loghino.png
2 2004-05-01 2004-07-01 loghino.gif
ho messo:
ma mi stampa sempre il 1°, xchè?Codice PHP:
$banner = "SELECT * FROM banner ORDER by rand()";
$result = mysql_query($banner);
$n = mysql_num_rows($result);
if($n > 0)
{
$a = mysql_fetch_array($result);
echo $a['id'].$a['link'].$a['img'];
}
else
{
echo 'banner default';
}
quando ti prendi i nomi dei record e li metti in quell'array, faiOriginariamente inviato da Coach
ciao,
io ho 2 record:
1 2004-05-01 2004-07-01 loghino.png
2 2004-05-01 2004-07-01 loghino.gif
ho messo:
ma mi stampa sempre il 1°, xchè?Codice PHP:
$banner = "SELECT * FROM banner ORDER by rand()";
$result = mysql_query($banner);
$n = mysql_num_rows($result);
if($n > 0)
{
$a = mysql_fetch_array($result);
echo $a['id'].$a['link'].$a['img'];
}
else
{
echo 'banner default';
}
array_rand e ne prendi uno a caso dall'array, poi fai tu le tue modifiche...
http://it.php.net/manual/it/function.array-rand.php
fare array_rand sarebbe alquanto sbagliato se nella query ho la potenzialita di effettuare un ORDER BY rand()...fare due volte la stessa cosa la trovo un poco sbagliata....
invece se facessi un ciclo sul fetch_array credo non ti dia più solo il primo risultato
![]()
niente da afre, se faccio un ciclo while() mi stampa entrambi i record nello stesso ordinamento...
Ma non avev o intenzione di farlo con l'order by, magari senza, ti prendi tutti i valori con mysql_fetch_array(), e in quell'array fai array_rand... mi sembra una buona idea... poi non so, vedete voi...Originariamente inviato da ellecubo
fare array_rand sarebbe alquanto sbagliato se nella query ho la potenzialita di effettuare un ORDER BY rand()...fare due volte la stessa cosa la trovo un poco sbagliata....
invece se facessi un ciclo sul fetch_array credo non ti dia più solo il primo risultato
![]()
![]()
$banner = "SELECT * FROM banner ORDER by rand()";
$result = mysql_query($banner);
while ($a= mysql_fetch_array($result)){
echo "".$a['id']."
";
}
come lo fai questo while?
![]()
così facecndo viene sempre:
1
2
sempre...
pensate che con array_rand si possa fare???