Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Random Select
Vezi mesajul original
Du-te la pagina 1, 2  Următoare
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Subiectul anterior :: Subiectul următor  
Autor Mesaj
bobby



Data înscrierii: 24/Oct/2004
Mesaje: 27

Trimis: Mar Noi 23, 2004 8:12 pm    Titlul subiectului: 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!
Sus  
oiganSTUDIOS



Data înscrierii: 22/Oct/2004
Mesaje: 222

Trimis: Mar Noi 23, 2004 11:41 pm    Titlul subiectului:  

SELECT * FROM tablename ORDER BY RAND() LIMIT 1

dar asta merge la tabele mici pana in 300.000 de inregistrari... Daca ai foarte multe inregistrari in baza poate sa mearga incet...
Sus  
bobby



Data înscrierii: 24/Oct/2004
Mesaje: 27

Trimis: Mie Noi 24, 2004 9:29 am    Titlul subiectului:  

SELECT * FROM text_nick ORDER BY RAND() LIMIT 1

tabelul se numeste text_nick. Dar imi da eroare

ce am gresit?
Sus  
oiganSTUDIOS



Data înscrierii: 22/Oct/2004
Mesaje: 222

Trimis: Mie Noi 24, 2004 9:37 am    Titlul subiectului:  

www.php.net
Cauta si tu pe acolo si o sa gasesti raspunsul...

Numa' bine...
Sus  
bobby



Data înscrierii: 24/Oct/2004
Mesaje: 27

Trimis: Mie Noi 24, 2004 11:16 am    Titlul subiectului:  

daca scriu SELECT * FROM a ORDER BY RAND()
merge dar imi afiseaza tot continutul tabelul radom (abc acb bca etc))

cand pun cum ai zis da eroare pls help
Sus  
bobby



Data înscrierii: 24/Oct/2004
Mesaje: 27

Trimis: Mie Noi 24, 2004 6:49 pm    Titlul subiectului:  

nu stie nimeni?
Sus  
mihnea sim



Data înscrierii: 20/Aug/2004
Mesaje: 149
Locație: Alexandria

Trimis: Mie Noi 24, 2004 8:29 pm    Titlul subiectului:  

an style="color: #000000"><?php $res = mysql_query("select * from tabel"); $pos = mysql_num_rows($res);     $rand = rand(1,$pos)-1; mysql_query("select * from tabel limit ".$rand.",1"); 

Cu placere :)
Sus  
bobby



Data înscrierii: 24/Oct/2004
Mesaje: 27

Trimis: Mie Noi 24, 2004 9:05 pm    Titlul subiectului:  

deci cum va arata scriptul k nu am inteles?
Sus  
mihnea sim



Data înscrierii: 20/Aug/2004
Mesaje: 149
Locație: Alexandria

Trimis: Joi Noi 25, 2004 7:17 am    Titlul subiectului:  

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
Sus  
bobby



Data înscrierii: 24/Oct/2004
Mesaje: 27

Trimis: Mie Dec 01, 2004 6:11 pm    Titlul subiectului:  

cum fac k serverul sa aleaga la intamplare un id (fiecare camp are cate un id) si sa imi afiseaze toate acele date.
adica am un tabel cu 3 campuri : id nick puncte
sa ia id 10 sa afiseze nick-ul si punctele
Sus  
bobby



Data înscrierii: 24/Oct/2004
Mesaje: 27

Trimis: Mie Dec 01, 2004 6:17 pm    Titlul subiectului:  

la raspunsul tau mihnea:
uite codul meu :

Cod: ?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;
    mysql_query("select * from clasament limit ".$rand.",1");
    while ($myrow = mysql_fetch_array($result)) {
         echo "<b></b> ".$myrow["text_nick"]."";
     }

imi da eroare la linia 28 care este Cod: while ($myrow = mysql_fetch_array($result)) {

ce am gresit?
Sus  
roverdc



Data înscrierii: 27/Noi/2004
Mesaje: 21
Locație: Piatra-Neamt

Trimis: Mie Dec 01, 2004 9:37 pm    Titlul subiectului:  

deci eu vad:
$res = mysql_query("select * from clasament");

si linia 28 este: while ($myrow = mysql_fetch_array($result)) {

si eu cred ca ar trebuii sa fie:
while ($myrow = mysql_fetch_array($res)) {
Sus  
bobby



Data înscrierii: 24/Oct/2004
Mesaje: 27

Trimis: Mie Dec 01, 2004 10:18 pm    Titlul subiectului:  

mersi mult..,.

cum fac k serverul sa aleaga la intamplare un id (fiecare camp are cate un id) si sa imi afiseaze toate acele date.
adica am un tabel cu 3 campuri : id nick puncte
sa ia id 10 sa afiseze nick-ul si punctele
Sus  
mihnea sim



Data înscrierii: 20/Aug/2004
Mesaje: 149
Locație: Alexandria

Trimis: Mie Dec 01, 2004 10:49 pm    Titlul subiectului:  

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:

an style="color: #000000"><?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>";       } 
Sus  
bobby



Data înscrierii: 24/Oct/2004
Mesaje: 27

Trimis: Mie Dec 01, 2004 11:21 pm    Titlul subiectului:  

da eroare la codul tau
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL Du-te la pagina 1, 2  Următoare
Pagina 1 din 2


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community