-
13-07-2014, 12:33 #1Member
- Registered
- 27/03/12
- Location
- Knesselare
- Posts
- 425
- iTrader
- 10 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Forum discussie als gelezen bestempelen
Ik ben al een tijdje bezig met een eigen forum te maken, en ik stuitte op volgende probleem
Een forum discussie als gelezen bestempelen is een veel besproken onderwerp het internet, maar ik zou graag even jullie mening horen over dit het beste te bereiken is.
Ik heb momenteel al geprobeerd om in de table van discussies, kolommen aan te maken van de gebruikersnamen en deze dan een waarde 0 of 1 toe te kennen. Dit werkt in principe goed, maar dit geeft soms problemen, want sommige gebruikers hebben namen met ongewenste tekens. Dus ik dacht om de gebruikersnaam te veranderen naar de user_id.
Het nadeel van deze methode is dat er zeer veel kolommen kunnen zijn als er grote aantallen gebruikers zijn.
Ik ben nu aan het testen om een record bij te houden als iemand de discussie bezocht heeft en dus zo te achterhalen als hij het gelezen heeft of niet. Bij een record en status 1 dan heeft hij het gelezen en anders niet. Het probleem dat ik hier zie is dat bij grote fora enorm veel records zullen worden aangemaakt. Als er 10 000 discussies zijn en 10 000 gebruikers en ze lezen ook alles effectief dan heb ik al 100 000 000 records.
Hoe zouden jullie het doen of vinden jullie één van de opties een goed idee?Portfolio website: http://www.rubenvermeulen.be/
Nederlandstalige PC Multi-Gaming Clan: http://www.soldiersoffreedom.be/
no votes
-
-
13-07-2014, 16:11 #2Crew Member
- Registered
- 01/09/02
- Location
- Peutie
- Posts
- 7,664
- iTrader
- 0
- Mentioned
- 4 Post(s)
- Reputation
- 13/105
Dus als je 10.000 gebruikers hebt dan ga jij 10.000 kolommen aan een tabel toevoegen? Dat is minder efficiënt dan 10.000 rijen hoor.

Het kan misschien beter zijn om bij te houden welke discussies NIET door een gebruiker zijn gelezen dan bij te houden welke discussies WEL door een gebruiker zijn gelezen. Je kan dan een tabel maken met 2 kolommen: user_id, thread_id. Die tabel heeft geen primary key of dergelijks nodig. Wanneer ergens een nieuwe post wordt toegevoegd of een nieuw topic wordt aangemaakt dan voorzie je (indien het nog niet bestaat) in die tabel een nieuwe rij. Wanneer de gebruiker de thread leest dan verwijder je de rij uit die tabel.Vanaf nu gaan we verder op BeyondGaming!
In deze thread wordt uitgelegd hoe je jouw account kan migreren.no votes
-
13-07-2014, 16:47 #3Member
- Registered
- 27/03/12
- Location
- Knesselare
- Posts
- 425
- iTrader
- 10 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Bedankt voor je antwoord.
Als je de niet gelezen bijhoudt dan moet je toch telkens bij een nieuwe discussie of post (bij 10 000 gebruikers) 10 000 records toevoegen of aanpassen. Zal dit dan niet "lang" duren om de pagina te laden voor degene die net de post of discussie heeft aangemaakt?Portfolio website: http://www.rubenvermeulen.be/
Nederlandstalige PC Multi-Gaming Clan: http://www.soldiersoffreedom.be/
no votes
-
13-07-2014, 17:28 #4Member
- Registered
- 19/02/06
- Location
- -
- Posts
- 4,048
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/73
Ik denk dat gelezen threads eerder gedetecteerd worden door de laatste inlogdatum en de threads die gelezen worden tijdens de huidige sessie met cookies ofzo.
no votes

