| |
Zanima me, kako izgleda sistem zasebnih sporočil v podatkovni bazi MySQL. Sem nekaj že preizkušal, vendar se mi je vedno zataknilo pri prebranih/neprebranih sporočilih.
Najlepša hvala za vso pomoč
|
| |
| |
Po moji logiki v bazi spremeniš neko polje, ko je bilo sporočilo enkrat prebrano.
|
| |
| |
To sem že uredil, vendar se problem pojavi takrat, ko moram zaznati katera sporočila so že prebrana, saj prihaja do podvajanj.
Trenutno imam bazo sestavljeno takole: id - id sporočila; auto increment, idMsg - id pogovora, ki ne narašča samodejno, to_id - id prejemnika, from_id - id pošiljatelja, time_sent - čas pošiljanja, subject - naslov pogovora, message - sporočilo, opened - 1 ali 0, spremeni se ob odprtju sporočila. izbris - 1 ali 0, izbrisano sporočilo.
|
| |
| |
Kodo, ki prikazuje prebrana in neprebrana sporočila še prilepi.
|
| |
| |
SQL koda je takale (seveda upoštevaj, da so vnešene vse spremenljivke):
SELECT * FROM zs WHERE to_id='x' OR from_id='x' GROUP BY idMsg ORDER BY opened, time_sent DESC
Tukaj prihaja do podvajanja sporočil
changed: PowerZan (19.2.2013, 10:47)
|
| |
| |
Oz. se opravičujem zaradi napačnih podatkov. Podatki se ne podvajajo, ampak se pojavi problem pri tem, ker SQL koda grupira vse vnose v enem sporočilu, in če je kakšno novo sporočilo, se ne prikaže kot, da je prispelo novo sporočilo.
EDIT:
Sem popravil, in sicer sem razporedil podatke pred samim grupiranjem:
SELECT * FROM (SELECT * FROM zs ORDER BY id DESC) as zs WHERE to_id='".mysql_real_escape_string($_COOKIE['UID'])."' OR from_id='".mysql_real_escape_string($_COOKIE['UID'])."' GROUP BY idMsg ORDER BY opened, time_sent DESC
changed: PowerZan (19.2.2013, 14:51)
|
| |
| |
Se mi zdi, da si kar malo zakompliciral.
Tudi mi ni čisto jasno, zakaj bi uporabljal GROUP BY, ker bi rekel, da ni potreben.
Najbolje, da poveš, kaj točno želiš, kaj naj vrne poizvedba (kakšen naj bo končni rezultat) in lahko predlagamo kakšno boljšo rešitev.
changed: podtalje (20.2.2013, 2:46)
|
| |
| |
Želim, da se uporabniku prikažejo vsi pogovori (oz. teme), ter da preveri stanje zadnjega sporočila, da lahko preverim, če je zadnje sporočilo neprebrano.
|
| |
| |
Problem sem že rešil, ampak vseeno hvala za to, mi bo v prihodnosti pomagalo
|
| |
Prikazujem 1 od skupno 1 strani |
|