login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Forumtopic gelezen of niet.

Offline LeakXT - 13/10/2008 13:01
Avatar van LeakXTNieuw lid Beste sitemasters,

Wat is het beste manier om te bepalen of een topic al gelezen is of niet in een forum?

Via een database? Sessie? Cookie?

6 antwoorden

Gesponsorde links
Offline Stijn - 13/10/2008 13:38
Avatar van Stijn PHP expert Ik zou het doen via database. Als een gebruiker het leest, dan zet ik zijn gebruikers ID in de tabel topics_gelezen. Als het een bezoeker is, zijn IP-adres.
Offline Ontani - 13/10/2008 13:58
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Voor bezoekers zou ik het zelfs niet doen.
Offline LeakXT - 13/10/2008 14:08 (laatste wijziging 13/10/2008 14:09)
Avatar van LeakXT Nieuw lid En heb je 1 record voor 1 topic id? Dus dat alle gebruiker id's in een record staan van de desbetreffende topic id of voor elk unieke gebruiker en topic id een record.
Offline SilVeX - 13/10/2008 16:42
Avatar van SilVeX HTML beginner
stijn1989 schreef:
Ik zou het doen via database. Als een gebruiker het leest, dan zet ik zijn gebruikers ID in de tabel topics_gelezen. Als het een bezoeker is, zijn IP-adres.


Dus als ik op school/werk zit en mijn buurman leest een topic en ik kom 5 minuten later op het forum (beide niet ingelogt btw) dan zie ik dat ik hem al gelezen heb?

Ik denk dat je deze functionaliteit alleen moet toepassen voor gebruikers die ingelogd zijn. En voor de niet ingelogde bezoekers deze functionaliteit in het geheel moet weglaten
Offline Diko - 14/10/2008 00:13 (laatste wijziging 14/10/2008 00:14)
Avatar van Diko PHP interesse Je neemt 3 tabellen:

Topic: topicid, blabla
Users: userid, blabla
topic2users: <topicid>, <userid>

Als een user een topic heeft gelezen maak je een record aan in de koppeltabel topic2users.

Om te bepalen of iemand dan al een topic heeft gelezen kun je een van de volgende queries gebruiken:

SELECT t.*, t2u.topicid FROM topic t LEFT JOIN topic2users t2u USING (topicid) WHERE t2u.userid = $userid;

Wanneer een user een topic nog niet gelezen heeft zal t2u.topicid NULL zijn en kun je hierop dus je stylesheet aanpassen.

En wat Silvex al zegt... mensen die niet inloggen bij gaan houden zorgt alleen maar voor problemen. Dan kun je beter met cookies werken voor gasten, maar zelfs dan op een shared werkplek zou je nog mensen benadelen ;)
Offline Kr4nKz1n - 14/10/2008 08:59
Avatar van Kr4nKz1n Onbekend topic_user is iets netter en wordt vaker gebruikt. Het idee is hetzelfde. Vind het zelf overzichtelijker
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.186s