Autor | Zpráva | ||
---|---|---|---|
Rob Profil |
#1 · Zasláno: 5. 12. 2005, 14:05:56
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 |
#2 · Zasláno: 5. 12. 2005, 14:09:50
Tak jak píšeš, řazení se dává vždy až na konec. Hoď sem přené znění té chyby.
|
||
Rob Profil |
#3 · Zasláno: 5. 12. 2005, 14:13:34
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 |
#4 · Zasláno: 5. 12. 2005, 14:50:04
DESC řadí od nejvyššího čísla k nižším a ASC naopak, tak to přehoď a pojedeto.
|
||
fotohans Profil |
#5 · Zasláno: 5. 12. 2005, 15:29:21
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 |
#6 · Zasláno: 5. 12. 2005, 15:29:51
řazení se dává vždy až na konec
Řazení je předposlední. Poslední je LIMIT |
||
fotohans Profil |
#7 · Zasláno: 5. 12. 2005, 15:34:46
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 |
#8 · Zasláno: 5. 12. 2005, 15:50:15 · Upravil/a: igamenir
fotohans
nebo $qry="SELECT ... WHERE (pro = '$ich' OR pro = 'admin' OR pro = 'all') ...", tedy to co tam má, tak co řešíš? |
||
fotohans Profil |
#9 · Zasláno: 5. 12. 2005, 16:01:45
igamenir:
pro = '$ich' - je špatný zápis |
||
ikso Profil |
#10 · Zasláno: 5. 12. 2005, 16:05:04
fotohans
Nie je... |
||
Rob Profil |
#11 · Zasláno: 5. 12. 2005, 17:00:13 · Upravil/a: Rob
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 |
#12 · Zasláno: 5. 12. 2005, 17:11:10
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. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0