|
SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
|
Alati teme | Način prikaza |
17. 12. 2011. | #1 |
član
Certified
Datum učlanjenja: 05.11.2005
Poruke: 82
Hvala: 7
1 "Hvala" u 1 poruci
|
Sistem privatnih poruka kao na fejsu
Pravim neki sajt na kom postoji zahtev da korisnici mogu da razmenjuju privatne poruke. Zelim da to izgleda kao npr. na facebook-u odnosno da nema inbox, outbox i sl... vec da sve bude zajedno odnosno da sve poruke poslate i primljene od istog korisnika budu uvek na jednom mestu.
Imam tabelu "poruke" koja ima sledeca polja - id - posiljalac (id clana koji je poslo poruku) - primalac (id clana kome je poruka poslata) - poruka (tekst poruke) - vreme (kad je poruka poslata) - procitano (0,1 da li je poruka procitana ili nije) - obrisano (0,1 da li je poruka obrisana ili nije) U sustini zelim da napravim ovakvu stranu http://www.facebook.com/messages/ Odnosno da su "poruke" slozene kontra redosledom, da su grupisane po korisniku i da se vidi da li je poruka procitana ili nije... Upit treba da povuce ime korisnika iz baze na osnovu polja posiljalac (poruka.posiljalac = korisnik.id) odnosno primalac (poruka.primalac = korisnik.id) A problem je sto isti korisnik moze da bude i primalac i posiljalac poruke (zavisno da li je on poruku poslao ili primio). Unapred hvala svima na pomoci! |
17. 12. 2011. | #2 |
član
Certified
Datum učlanjenja: 05.11.2005
Poruke: 82
Hvala: 7
1 "Hvala" u 1 poruci
|
|
17. 12. 2011. | #3 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
|
PHP kôd:
Sad ovo sam radio prije 2 godine, vjerovatno ne valja |
17. 12. 2011. | #4 | |
član
Certified
Datum učlanjenja: 05.11.2005
Poruke: 82
Hvala: 7
1 "Hvala" u 1 poruci
|
Citat:
|
|
17. 12. 2011. | #5 | |
član
Certified
Datum učlanjenja: 05.11.2005
Poruke: 82
Hvala: 7
1 "Hvala" u 1 poruci
|
Citat:
ovo je vec prikaz kad klikne na nekog korisnika pa dobije chat sa njim... a meni treba ona strana pre koja izgleda kao inbox + sent zajedno... na kojoj sve vidi sa kim je uspostavio razgovor, poslednja poruka (da li je procitana ili ne...) bukvalno strana pre ovog... |
|
17. 12. 2011. | #6 |
profesionalac
Qualified
|
možeš da probaš ovako, da sve poruke između dva člana vežeš u jednu diskusiju (thread), upiti će ti biti jednostavniji:
diskusije(did, ucesnik1, ucesnik2) poruke(pid, did, posaljilac, vreme, poruka, procitano, obrisano) Kôd:
SELECT * FROM diskusije d INNER JOIN poruke p ON p.did = d.did WHERE d.ucesnik1 = 1 OR d.ucesnik2 = 1 GROUP BY d.did ORDER BY p.vreme DESC
__________________
www.salebab.net |
"Hvala" salebab za poruku: |
17. 12. 2011. | #7 |
član
Certified
Datum učlanjenja: 25.07.2008
Poruke: 76
Hvala: 15
296 "Hvala" u 10 poruka
|
Ok, a kako to sad spojiti sa tabelom u kojoj su korisnici? Jer, potrebno je prikazati, na toj prvoj strani, ime/username 'onog drugog' i SAMO poslednju poruku iz diskusije, bez obzira na to KO ju je poslao?
|
17. 12. 2011. | #8 |
profesionalac
Qualified
|
INNER JOIN korisnici k ON (k.id = d.ucesnik1 OR k.id = d.ucesnik2) AND k.id != 1
__________________
www.salebab.net |
"Hvala" salebab za poruku: |
17. 12. 2011. | #9 |
član
Certified
Datum učlanjenja: 25.07.2008
Poruke: 76
Hvala: 15
296 "Hvala" u 10 poruka
|
@salebab, hvala! Ostalo je jos samo da se poslednja poruka (po glavi korisnika/sagovornika) prikaze, probacu to nekako da odradim... jes' da mi ovo ne treba trenutno, ali me zainteresovalo)
|
17. 12. 2011. | #10 |
profesionalac
Qualified
|
Pa onaj prethodni upit što sam ti poslao izvlači poslednju poruku
__________________
www.salebab.net |
|
|