Autor Zpráva
microfox
Profil *
Ahoj, mam tento kod:
$vycuc_tabulky=mysql_query("SELECT * FROM RS_Diskuse WHERE clanek = " . (isset($_GET['id']) ? mysql_real_escape_string($_GET['id']) : '0') );


z kodu je patrne, ze zobrazuju komentare tykajici se daneho clanku a kazdy clanek ma sve ID. Potreboval bych ty vypisovane prispevky radit od nejnovejsiho po nejstarsi a musi tam bejt ORDER by id DESC ale nevim kam to mam vlozit...Koukal jsem i na manual jake je poradi ale jak je tam to isset a tohle tak to je na me moc a nejsem schopny to vymyslet... Nasel by se nekdo kdo by mi ten kod upravil? Moc diky
Alphard
Profil
Máte tady 2 vrstvy, isset() je PHP konstrukce, vykoná se, bude dosazena nějaká hodnota a SQL dotaz může pokračovat dál.
Dle MySQL je pořadí where, order a limit, takže vaše order by připojte na konec celého řetězce.

Pokud je id číselné, stačí místo mysql_real_escape_string() použít (int) $_GET['id']. Současná podoba myslím umožňuje vznik chyby, kdy v id bylo něco jiného než číslo, vyhodí to nějaký syntax error, protože to nebude v apostrofech.

$vycuc_tabulky=mysql_query("SELECT * FROM RS_Diskuse WHERE clanek = " . (isset($_GET['id']) ? (int) $_GET['id'] : 0) . "  ORDER by id DESC");
jenikkozak
Profil
microfox:
Proč zas zakládáš nové téma, když přesně tohle jsi řešil jinde?
microfox
Profil *
Diky moc ;-)
microfox
Profil *
jenikkozak:
Toto tema uz nikdo neresil :-)

Moderátor Alphard: Příště žádné duplicity!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0