Random Select
Moderatori: Zamolxe, Moderatori
Random Select
cum fac sa imi afiseze dintr-o baza de date random niste date:
de ex :
am baza de date Curs BNR: cu tabele euro dolar lei .Cand dau select * from euro vreau sa fie ceva random. Odata sa afiseze euro,odata lei si tot asa!
de ex :
am baza de date Curs BNR: cu tabele euro dolar lei .Cand dau select * from euro vreau sa fie ceva random. Odata sa afiseze euro,odata lei si tot asa!
- oiganSTUDIOS
- Senior Member
- Mesaje: 223
- Membru din: Vin Oct 22, 2004 8:05 pm
- oiganSTUDIOS
- Senior Member
- Mesaje: 223
- Membru din: Vin Oct 22, 2004 8:05 pm
-
mihnea sim
- Average Member
- Mesaje: 149
- Membru din: Vin Aug 20, 2004 9:15 pm
- Localitate: Alexandria
- Contact:
-
mihnea sim
- Average Member
- Mesaje: 149
- Membru din: Vin Aug 20, 2004 9:15 pm
- Localitate: Alexandria
- Contact:
Pai exact cel de sus. Primul $res este selectul cu toate liniile tabelului, ca sa le pot numara cu $pos = mysql_num_rows($res). Cunoscand numarul total de linii generez un numar aleatoriu intre 1 si $pos din care scad o unitate (pt ca numerotarea liniilor incepe de la 0 si se termina cu $pos-1). Apoi fac selectul final, cu un " limit ".$rand.",1" Care inseamna: cauta randul din tabel de pe pozitia $rand si incepand cu el selecteaza 1 randuri
"o istorie aberanta si injusta copleseste fiinta si o arunca afara din lumea ei"
-
mihnea sim
- Average Member
- Mesaje: 149
- Membru din: Vin Aug 20, 2004 9:15 pm
- Localitate: Alexandria
- Contact:
while($row = mysql_fetch_array($result)) -- unde $result este resursa cu limit $rand. Si nici nu e nevoie de while pt ca returneaza doar un rand.
Adica era bun codul tau bobby, numai ca exact cu un rand inainte de while ai uitat sa scrii atribuirea pt $result. Si mai ai o greseala la ghilimele. Asta ar trebui sa mearga:
[php]
$link = mysql_connect("xxxxxxxx", "xxxxxxx", "xxxxxx")
or die("Nu se poate conecta");
mysql_select_db("divizia_fifa", $link) or die("Nu am gasit baza de date cautata");
$res = mysql_query("select * from clasament");
$pos = mysql_num_rows($res);
$rand = rand(1,$pos)-1;
$result = mysql_query("select * from clasament limit ".$rand.",1");
$myrow = mysql_fetch_array($result) //deoarece $result are doar un rand
echo "<b> ".$myrow['text_nick']."</b>";
}
[/php]
Adica era bun codul tau bobby, numai ca exact cu un rand inainte de while ai uitat sa scrii atribuirea pt $result. Si mai ai o greseala la ghilimele. Asta ar trebui sa mearga:
[php]
$link = mysql_connect("xxxxxxxx", "xxxxxxx", "xxxxxx")
or die("Nu se poate conecta");
mysql_select_db("divizia_fifa", $link) or die("Nu am gasit baza de date cautata");
$res = mysql_query("select * from clasament");
$pos = mysql_num_rows($res);
$rand = rand(1,$pos)-1;
$result = mysql_query("select * from clasament limit ".$rand.",1");
$myrow = mysql_fetch_array($result) //deoarece $result are doar un rand
echo "<b> ".$myrow['text_nick']."</b>";
}
[/php]
"o istorie aberanta si injusta copleseste fiinta si o arunca afara din lumea ei"
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 5 vizitatori
