Jag skulle behöva lite råd. tips och exempel på hur man kan visa olästa meddealanden, nyheter osv. Cookies? Fält i databasen? Tacksam för all hjälp jag kan få i ämnet... /Adam Behöver man logga in för att läsa nyheterna? Om det är så är det nog lättast med ett fält i DB som innehåller senaste inloggningsdatum och tid. Ja, man loggar in. Sparar redan användarens besöks-datum/tid i ett fält i databasen. Vill inte ha ett fält för varje nyhet tex som jag sätter till "läst" / "oläst", eftersom samma nyhet ju kan läsas av flera... Om du inte redan gjort det så läs igenom artikeln Normalisering - vad är det?. Den artikeln kan hjälpa dig på traven. Om varje användare har ett id, varje nyhet har ett id och så har du en flagga för om det är läst eller oläst. Då kan tabellen se ut såhär: Om man bara ska använda fältet för att flagga läst oläst. Kan man skippa flaggID fältet. Eftersom existensen av en post, flaggar det. Men fältet ger ju möjlighet att kunna lagra t.ex hur många gånger man läst det. Om du nu inte är jätteviktig att visa vilka som är läst/olästa så föreslår jag att du visar vilka som är Nya sedan besökaren loggade in sist. Detta kommer spara lite prestanda, plus att du slipper få en databas som växer överdess bredd om du har mycket besökare och artiklar.Olästa meddelanden
Sv: Olästa meddelanden
/AndréSv: Olästa meddelanden
Sv: Olästa meddelanden
användardID nyhetsID flaggID
1 2 0
1 3 1
2 2 1
3 1 0
3 5 1
flaggID 0 oläst 1 läst
du förstår ... Sv: Olästa meddelanden
Lite exempel på hur fråga kunat se ut:
Access:
SELECT Nyheter.*, Nyheter.nyhetsID IN (SELECT NyhetLäst.nyhetsID FROM NyhetLäst WHERE NyhetLäst.användardID = 1) AS Läst
FROM Nyheter
SQL Server:
SELECT Nyheter.*, CASE NyhetLäst.NyhetsID WHEN NyhetLäst.NyhetsID THEN 1 ELSE 0 END AS Läst
FROM Nyheter LEFT OUTER JOIN
NyhetLäst ON NyhetLäst.AnvändardID = 1 AND Nyheter.NyhetsID = NyhetLäst.NyhetsIDSv: Olästa meddelanden
Eftersom du sparade besökarens senast inloggningsdatum så är det bara att jämföra med artiklens datum och se om artiklens datum är nyare än besökarensinloggningsdatum och så fall visa en lite 'nyhets-bild'
- magnus