Permalänk
Medlem

[ASP] Ta ut nya meddelanden

Hejsan!

Håller på med en mindre community med PM-funktion. Det jag undrar nu är hur jag ska få ut hur många nya meddelanden varje person har.

Vill inte köra med något true/false-aktigt i databasen, för jag tänkte göra samma med nya nyheter senare.

Citat:

SQL = "Select Count(*) From message Where datum > " & last_seen

Detta fungerar inte, last_seen är datumet när personen senast loggade in. Format xxxx-mm-dd hh:mm.

Hur gör man?

Visa signatur

Rasmus Lindell
Webmaster

Permalänk

Jag hade gjort:

PM:
Title (VARCHAR)
Text (TEXT)
Read (1/0)
Time (UNIX-timestamp)

Sen: SELECT COUNT(*) FROM PM WHERE read=1

Permalänk
Medlem

Joo, tänkte så. Men det blir klurigare om jag ska göra så med nyheter. Då är det fler som ska läsa samma post.

Fast kanske kan lösa det med att lägga in ID:t på den nyheten man senast läste i user-databasen.

Aja, får kika vidare.

Visa signatur

Rasmus Lindell
Webmaster

Permalänk

Då gör du en till tabell. Låter som du måste lära dig lite relationsdatabaskunskap också.

UserHasReadNews:
UserID (INTEGER) Foreign Key
NewsID (INTEGER) Foreign Key
Read (0/1)

Sen när man gör en insert så slänger man in korrekt antal rader för varje användare i den tabellen.

Att tänka på är att MySQL (Vet inte hur det är med SQL-server.) klarar flera miljoner rader utan att bli det minsta seg.

Dock bör din metod funka:

"SELECT COUNT(*) FROM PM WHERE DATE > " + LastSeen

Säker på att du använder korrekt metod?

Om det är en sträng:

String.Convert.ToInt32();

(Om det är ASP.NET C#)