Stránka 1 z 1

Náhodný výběr řádku z MySQL o dvou sloupcích

Napsal: 27 pro 2014 21:08
od kuxik009
Zdravím,
řeším takový problém. Potřebuji z db vytáhnout náhodný řádek, o kterém znám jen jeden sloupec. Osvětlí obrázek:
Výstřižek.PNG
Výstřižek.PNG (11.46 KiB) Zobrazeno 301 x

Id je vždy úplně jiné, to vůbec neznám a nepotřebuji. Id_pozn znám, a znám taky počet maximálních řádků s id které potřebuji, ale připadne mi hodně hnusné vždy vybrat z db 150 položek a array_randem to načítat z pole - krásné na spadnutí db. Všechno, co vlastně chci, je dostat nazev a url. Napadlo mě něco takového:

Kód: Vybrat vše

$dotaz_obr = mysql_query("SELECT nazev, url FROM tabulka WHERE id_pozn='$id_poznavacky' ORDER BY rand() LIMIT 1");
      while ($vysledek_obr = mysql_fetch_assoc($dozaz_obr))
       {
        $nazev_zast = $vysledek_obr["nazev"];
        $url_zast = $vysledek_obr["url"];
       }

Ale nefunguje to, a navíc jsem četl, že ORDER BY rand() je ještě hnusnější na databázi než výše zmíněný array_rand po vybrání 150 položek. Mohli byste mi prosím poradit, jak byste to udělali vy? Děkuji předem!

Re: Náhodný výběr řádku z MySQL o dvou sloupcích  Vyřešeno

Napsal: 30 pro 2014 12:11
od kuxik009
Tak s menší pomocí jsem to vyřešil tím randem - akorát jsem měl překlep v názvu proměnné (while - dozaz místo dotaz) :oops: :cry: