Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi
 
Domov > Forum > Računalništvo

Sistem zasebnih sporočil

 
 
19.2.2013, 10:02
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č
 
 
 
19.2.2013, 10:10
Po moji logiki v bazi spremeniš neko polje, ko je bilo sporočilo enkrat prebrano.
 
 
 
19.2.2013, 10:19
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.
 
 
 
19.2.2013, 10:29
Kodo, ki prikazuje prebrana in neprebrana sporočila še prilepi.
 
 
 
19.2.2013, 10:46
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)
 
 
 
19.2.2013, 14:28
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)
 
 
 
20.2.2013, 2:46
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)
 
 
 
20.2.2013, 10:05
Ž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.
 
 
 
10.5.2013, 21:28
http://www.9lessons.info/2013/05/message.... mogoče ti lahko to pomaga?
 
 
 
10.5.2013, 23:16
Problem sem že rešil, ampak vseeno hvala za to, mi bo v prihodnosti pomagalo
 
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!