Autor | Zpráva | ||
---|---|---|---|
Mixalko Profil * |
#1 · Zasláno: 30. 10. 2012, 17:34:59
zdravím vás, už som asi prepracovaný alebo neviem, ale neviem si dať rady s jedným dopytom
dbquery("SELECT t1.*,t2.lastvisit,t2.nick,t2.id FROM priatelia t1 JOIN uzivatelia t2 ON t1.with_id=t2.id WHERE t1.user_id='".$userdata['id']."' AND t2.lastvisit>= '".(time()-60*20000)."' ORDER BY t2.nick ASC"); toto mi funguje a pekne vyroluje priateľov, ktorí sú online a usporiada ich podľa abecedy.. vec, s ktorou si neviem rady je, že mám tretiu tabuľku chat, kde sú polia id, od, komu, cas, videne, sprava, pričom od je ID od ktorého prišla správa, komu je ID komu je určená, čas je jasný, videne je nastavené na 0 ak si to ešte KOMU neprečítal a správa je jasné.. potrebujem do toho dopytu pridať túto tretiu tabuľku chat tak, aby sa následne usporiadali ľudia v prvom rade podľa toho, či mi prišla správa, resp. či je pri OD a KOMU v poli VIDENE vložená 0 a v druhom rade podľa abecedy dúfam, že pochopíte, čo som napísal.. vedel by niekto pomôcť? |
||
Draffix Profil |
#2 · Zasláno: 30. 10. 2012, 22:50:11
Asi si nejsem moc jist, jestli jsem to správně pochopil, ale nestačilo by k tomu dotazu "přidružit" ještě tu třetí tabulku a pak to to řadit prvně podle videne a pak podle abecedy? Jakože ORDER BY `videne` DESC, `t2.nick`?
|
||
Mixalko Profil * |
#3 · Zasláno: 30. 10. 2012, 23:49:17
ale ako ju pridružiť?
|
||
Draffix Profil |
#4 · Zasláno: 30. 10. 2012, 23:54:29
stejně jako ty dvě předchozí. Tedy před klauzuli where přidáš ještě JOIN chat C ON a klíče. Nevím jaké máš vazby mezi sebou a tak těžko dál pokračovat
|
||
Kajman Profil |
#5 · Zasláno: 31. 10. 2012, 21:54:53
Možná něco jako
SELECT t1.*, t2.lastvisit, t2.nick, t2.id FROM priatelia t1 JOIN uzivatelia t2 ON t1.with_id = t2.id LEFT JOIN chat ch ON ch.od = t1.with_id AND ch.komu = t1.user_id AND ch.videne = 0 WHERE t1.user_id = '$iduzivatele' AND t2.lastvisit >= '$hranice' GROUP BY t1.with_id ORDER BY ch.od IS NULL, t2.nick ASC |
||
Časová prodleva: 11 let
|
0