Autor Zpráva
Rob
Profil
Ahoj,
dokud jsem vypisoval bez podmínek, tak bylo s order by všechno v pohodě. Taže: SELECT neco, neco FROM odnekud ORDER BY podleneceho DESC. Tohle mi vždyck šlo, ale když jsem přidal podmínku, tak mi to nejde. Zkoušel jsem to dávat na více míst, ale nic. Takže jak by tohle mělo vypadat???:
SELECT subject, od, text FROM messages WHERE (pro = '$ich' OR pro = 'admin' OR pro = 'all') ORDER BY id DESC
Hugo
Profil
Tak jak píšeš, řazení se dává vždy až na konec. Hoď sem přené znění té chyby.
Rob
Profil
Neháže to žádnou chybu, ale řadí to naopak. Ne od nových ke starým, ale od starých k novým.
Hugo
Profil
DESC řadí od nejvyššího čísla k nižším a ASC naopak, tak to přehoď a pojedeto.
fotohans
Profil
pokud to předtím řadilo tak jak chce, tak asi v DESC problém nebude ne

problém bude patrně asi s uvozovkama u proměnné $ich
(příkaz SELECT skončí v půli textu tj bez celé podmínky a řazení))

předpokládejme, že je to celé vytržené z kontextu a proměnná je asi z PHP, pak by mělo být

$qry='SELECT .... where (pro=\''.$ich.'\' or pro='admin') .... desc';
igamenir
Profil
řazení se dává vždy až na konec
Řazení je předposlední. Poslední je LIMIT
fotohans
Profil
eeeh... chybicka

tedy uvozovky u těch textů 'admin' a 'all' by musely být slashovány také

$qry='SELECT .... where (pro=\''.$ich.'\' or pro=\'admin\' or pro=\'all\') .... desc';

nebo pomocí různých uvozovek (jednoduché a dvojité )

$qry='SELECT .... where (pro="'.$ich.'" or pro="admin" or pro="all") .... desc';
igamenir
Profil
fotohans
nebo $qry="SELECT ... WHERE (pro = '$ich' OR pro = 'admin' OR pro = 'all') ...", tedy to co tam má, tak co řešíš?
fotohans
Profil
igamenir:

pro = '$ich' - je špatný zápis
ikso
Profil
fotohans

Nie je...
Rob
Profil
Před chvíli jsem se vrátil domů, tak můžu reagovat.
1) DESC řadí naopak, ale když je to řazené podle id, tak to co bylo poslední má nejvyšší id, takže to je to řazení od nového ke starému.
2) celé to vypadá tak, že $dotaz = "SELECT bla bla bla bla bla WHERE (neco = '$nejaka_promenna') ORDER BY id DESC" - takže tady problém nebude. ...........pardon to už psal igamenir
3) co je na tom špatného ??? - tohle je dobře
Rob
Profil
Už to funguje, ale ta chyba byla hhodně podezřelá:

Je ta mdána opodmínka, která zjistí, jestli je přihlášený admin nebo ne. Ty dotazy se liší, protože se nemůžou psát zprávy pro admina všem ostatním. U dotazu pro admina tem to ORDER BY bylo a pro ty ostatní ne. Nevím jak je to možné, ale po přidání toho ORDER BY i k tomu dotazu v else to funguje. Je to vážně divné, ale hlavně, že to funguje.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0