1. #1
    CrushTheButton's Avatar
    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  

  2. #2
    Tyfius's Avatar
    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  

  3. #3
    CrushTheButton's Avatar
    Registered
    27/03/12
    Location
    Knesselare
    Posts
    425
    iTrader
    10 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by Tyfius View Post
    This quote is hidden because you are ignoring this member. Show
    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.
    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  

  4. #4
    YaMo's Avatar
    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  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in