náhodný select

13 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Chci se zeptat, jestli SQL podporuje nějaký příkaz, kterým bych náhodně nechal vybrat hodnotu. Př.:: mám tabulku se sloupcem id a potřebuju, aby se z toho id vybrala jakakoli hodnota - je mi jedno jaka. Nevi někdo jestli to jde? Díííííííík!
  2. nevim jestli na to neco ma SQL ale myslim ze to neni potreba.. staci: rand a pak podle vracene hodnoty vytahnout hodnotu toho ID
  3. rand?????????
  4. rand ti vrati nahodny cislo... mrkni do manualu
  5. díky!
  6. rand uz teda kapu, ale jelikoz v mysql nejsem vubec zadny borec - ani nahodou - a nemam vek na to abych se domak toho, jak podle vracene hodnoty vytahnout hodnotu toho ID... potrbuji NAKOPNOUT!(hodně)
  7. mozna takhle: select ... from ... order by rand() limit 1 (ale nikdy jsem to nepotreboval, takze nevim, jak moc to chodi)
  8. <?php $vys = MySQL_Query("SELECT id FROM bauer"); $pocet_radku = MySQL_Num_Rows($vys); srand((double)microtime()*1000000); $nahoda = rand (1,$pocet_radku); $vysledek = MySQL_Query("SELECT url, pocet, soucet, kategorie, text FROM bauer WHERE id = '$nahoda'"); $zaznam = MySQL_Fetch_Array($vysledek); $url = $zaznam["url"]; $pocet = $zaznam["pocet"]; $soucet = $zaznam["soucet"]; $kategorie = $zaznam["kategorie"]; $text = $zaznam["text"]; ?> tak tdy to mas moje databaze se jmenuje bauer tak si to prerhod... URl, pocet, soucet, kategorie a text jsou slopce tak si to uprav
  9. ...coz je asi to nejprasactejsi reseni, co nejvic zatezuje jak mysql, tak i webserver. fakt, takhle bych to rozhodne nedelal.
  10. no.. zas tak spatny to neni.. ale neco je tam dost zbytecny
  11. supr - preberu! :-)
  12. Reseni Petra Steinbauera je vcelku jednoduche, jen prvni dva radky bych vyresil takto : $pocet_radku = mysql_result(mysql_query("SELECT Count(*) FROM tabulka"),1); Vyrazne to usetri komunikaci mezi webserverem a mysql serverem, coz je tady na webzdarma obzvlaste podstatne. Jinak ten priklad neresi to, ze nektera id nemusi byt obsazena. Napr pokud smazete zaznam DELETE FROM tabulka WHERE id=5; Tak pristi vlozeny zaznam nebude mit id 5, ale uz 6. A pokud se nahodne vybere petka, nebude to odpovidat zadnemu zaznamu. Samozrejme tam lze dat kontrolu a generovat tak dlouho, az bude nejaky zaznam nalezen, ale to zvysuje provoz webserveru a mysql serveru, coz neni dobre. Pokud se k tomu prida, ze nechceme nahodne vybirat z cele tabulky, ale treba jen WHERE kategorie='3' tak se to cele jeste zkomplikuje. (viz problem na http://www.wz.cz/forum/read.php?f=5&i=1233&t=1233) Reseni pomoci jedine (nebo nekolika) sql query jsem bohuzel nenasel :-/
  13. Tak jsem se zase pekne vypek. On to Petr Steinbauer dobre vi, - viz onen thread tady v diskuzi. Cili krome onoho urychleni komunikace mezi webserverem a mysql serverem muj predch. prispevek nic noveho nerika.

← Zpět na všechna témata