[PHP/MySQL] Zelfgeschreven forum bijhouden wat users lezen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • siskos
  • Registratie: September 2002
  • Laatst online: 15-09 14:16
Ik zit mij wat te vervelen tijdens deze vakantie en ik kwam op het idee om zelf een forumpje te schrijven.
Totnutoe lukt alles zeer goed, maar ik wil wat extra functionaliteit toevoegen aan het forum.
En doen zoals op bijna alle fora's, namelijk laten zien wat de users hebben gelezen en wat niet.
Maar ik zit hier nu al 3 dagen mijn hoofd over te breken. Ook weet ik niet echt op wat ik moet zoeken. Heb al het hele internet afgesnuffeld maar er is niet veel te vinden.

Zou iemand mij meschien kunnen zeggen hoe ik dit simpel kan doen ?
Ik ga het meestal veel te moeilijk zoeken >:)

Acties:
  • 0 Henk 'm!

  • Trinsec
  • Registratie: Februari 2003
  • Laatst online: 19:15

Trinsec

Huffi-Muffi-Guffi

De meeste fora doen het simpel: De user last online time checken, de messages posted time checken. Last online time voor posted time: Nieuw. Anders oud. Dus niet echt specifiek checken of de user dat bericht zelf heeft gelezen. Lijkt me eigenlijk ook behoorlijk inefficient worden als het om een grote forum zou gaan.

when the Darkness fell upon us
when the Evil Ones came!
Creatures from the darkest pits of hell they were.
Trinsec's Journal


Acties:
  • 0 Henk 'm!

  • siskos
  • Registratie: September 2002
  • Laatst online: 15-09 14:16
Dit had ik inderdaad al afgekeken van het phpbb2 forum.

Maar wat ik mij dan net afvraag wanneer update je juist de Last-online time van de user ?
Want als je nu de last online time update dan worden automatisch alle berichten als gelezen gezet, terwijl de gebruiker net maar 1 vd 20 topics heeft gelezen. *voorbeeld*

Acties:
  • 0 Henk 'm!

  • Trinsec
  • Registratie: Februari 2003
  • Laatst online: 19:15

Trinsec

Huffi-Muffi-Guffi

Sommige fora doen er een 'sessietijd' voor. Of, bijvoorbeeld, GoT (dacht ik) meet de huidige tijd en last online, als er meer dan 15 minuten is verstreken dan is het tijd voor een nieuwe 'sessie' en dus de last online aangepast. Ofzo. Heh.

when the Darkness fell upon us
when the Evil Ones came!
Creatures from the darkest pits of hell they were.
Trinsec's Journal


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

React (GoT's forumsoftware) update die last-online tijd elke keer als een nieuwe sessie begonnen wordt. Sessies worden na 30 minuten inactiviteit beëindigd. Zolang je dus blijft browsen, wordt de last-online tijd niet aangepast (tot je handmatig je sessie reset), en als je stopt, dan wordt na 30 minuten automatisch je sessie inactief gemaakt, en wordt bij je eerstvolgende bezoek de onlinetijd aangepast. :)

Trouwens, dit is voor zover ik weet, ik heb niet echt veel kennis over React. :P

[ Voor 11% gewijzigd door NMe op 21-08-2005 01:32 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Mischa_NL
  • Registratie: Mei 2004
  • Laatst online: 01-02-2023
De nieuwe versies van IPB en vB houden het (overigens optioneel) bij via de database.
Ik weet niet hoe ze het precies doen, maar ik denk dat ze het zo doen.

tabel waar alle views instaan.
je insert het bekeken topic_id, user id en de last post id iedere keer als je een topic bekijkt.
Wanneer een post gemaakt wordt, klopt de last post id niet meer en is hij dus ongeldig, en is het dus nieuw. Dan update je deze record de volgende keren als je in het topic kijkt.

Perfect systeem, alleen heb je weer wel een query meer op de database. En die tabel kan flink groot worden, als je veel users hebt. Dus ook even fixen dat hij hem netjes opschoont enzovoort!

Acties:
  • 0 Henk 'm!

  • siskos
  • Registratie: September 2002
  • Laatst online: 15-09 14:16
Mischa_NL ik heb eens even zitten nadenken over je systeem.

Maar wat als er nu meerdere posten zijn geweest sinds dat de user nog online is geweest.
Dan zie je volgens jouw systeem deze poste allemaal als nieuw.
Maar als je vervolgens de nieuwste post gaat lezen, dan markeerd die de iets oudere posten die overigens ook ongelezen waren voor deze user, als "gelezen".

Dus dit systeem is ook niet erg nuttig vind ik.

Ik heb nu ook eens wat naar het React forum zitten kijken en ze doen het idd met soort van sessie's en zolang dat ze actief blijven.
Maar naar zo een systeem was ik eigl niet opzoek, meer zo gelijk phpbb2 forum.

Hier kan je volledig zien welk topic je gelezen heb en welk niet, in welk dan nieuwe post's zijn geweest en waar niet.

Ik ga nog maar eens wat de code van het phpbb forum uitpluizen om hopelijk iets te vinden dat ik kan gebruiken.
Of is er al iemand mij voorgegaan die met hetzelfde probleem zat en meschien al een oplossing ervoor heeft ?
Pagina: 1