AsaMedlem sedan dec. 20011 860 inlägg Tänkte bygga en sida där Skickade meddelanden visas i min community men vet inte hur jag ska lägga upp det på för vis! Vill ha så lite plats till detta så en extra tabell för det är inte vad jag är ute efter.
Vill ha så man kan se om den andra läst meddelandet och man ska kunna ta bort meddelandet helt från sin skickade och från den man skickat till.
Kanske kan det vara bra att kunna ha skickade mess kvar även om den andra raderat messet så man kanske måste ha dubbla tabeller.
Nån som har ideér på hur jag ska bygga detta? Jag vill ha det så smidigt som möjligt.
icaaqMedlem sedan okt. 20005 273 inlägg Första tanken är att du lägger till ett statusfält till din medelandetabell. och du ändrar värdet på det fält till t.ex. 2 efter att det är läst.
1. -skickat
2. -läst.
mv icaaq
AsaMedlem sedan dec. 20011 860 inlägg Just nu har jag svarad och läst i den men om jag nu vill ha så att om ex du raderat mitt meddelande så ska ändå det ligga kvar ett i min skickat mapp. Då måste jag ju skapa 2 mess varje gång man skickar lr vad säger du?
OveRRidEMedlem sedan feb. 200112 078 inlägg Att dela upp meddelanden i olika tabeller verkar onödigt. Se till att separera dem med ett state-id istället.
[b]tblMessage[/b]
ID
RecieverId
SenderId
Header
Body
StateId
SentDate
Innehåll i StateId kan vara t.ex.:
1 Skickat (avs), ej läst (mot)
2 Skickat (avs), läst (mot)
3 Skickat (avs), läst (mot) och raderat (mot)
Det borde fungera.
AsaMedlem sedan dec. 20011 860 inlägg Tackar och hoppas på bra lösning!
AsaMedlem sedan dec. 20011 860 inlägg Hmm, hur menar du nudå OveRRidE? Förklara lite bättre tack...
Du kansk menar att messen man skickat bara visas skickat tills mottagaren läst det. Eller hur?
Jag kanske skrev fel. Jag vill ha en Skickade mess mapp... men en Utkorg kan ju vara bra å ha oxå.
OveRRidEMedlem sedan feb. 200112 078 inlägg Visst.
0 Ej skickat (avs)
1 Skickat (avs), ej läst (mot)
2 Skickat (avs), läst (mot)
3 Skickat (avs), läst (mot) och raderat (mot)
Varje meddelande har två användar-ID:n; mottagare och avsändare. För att få en användares alla mottagna meddelanden, kollar du efter alla där mottagar-ID:t är samma som dennes egna. Samma princip på alla andra typ av listor.
Om du vill ha en skickat-mapp, så är det inga problem. Även om meddelandet är läst (2), ej läst (1) eller både läst och raderat (3) så är fortfarande avsändaren densamma. Detta innebär i praktiken att din Skickat-mapp får en extra funktion om du vill; möjlighet att se om den du skickat meddelandet till har läst det eller inte, och till och med ifall denne har raderat det eller inte.
OveRRidEMedlem sedan feb. 200112 078 inlägg Kodexempel:
'# någons utkorg
sql = "SELECT * FROM tblMessage WHERE SenderId = " & session("MyUserId") & " AND StateId <> 0"
'# någons inkorg
sql = "SELECT * FROM tblMessage WHERE RecieverId = " & session("MyUserId") & " AND StateId <> 0 AND StateId <> 3"
'# någons lista på nya, ej lästa meddelanden
sql = "SELECT * FROM tblMessage WHERE RecieverId = " & session("MyUserId") & " AND StateId = 1"
'# någons lista på sparade, men ännu ej skickade meddelanden
sql = "SELECT * FROM tblMessage WHERE SenderId = " & session("MyUserId") & " AND StateId = 0"
Förstår du?
Du får aldrig börja radera rader i denna struktur eftersom ett meddelande kan vara o två olika statusar beroende vad som står i RecieverId och SenderId.