Vis nye posts, hjemmelavet forum

Tags:    php

Hej udviklere!

Jeg står med et lille problem her. Jeg er ved at lave mit eget forum, og er stortset færdig, der er dog én ting som alle brugerne efterlyser, nemlig den funktion der kan vise et lille ikon hvis der er nye posts siden deres sidste besøg.

Først og fremmest vil jeg gerne have nogle forslag til hvordan forskellige folk vil lave dette.

Jeg har fået lavet således at jeg kan gemme brugernes sidste besøg i databasen.

Bare én lille ting:

Hvis man så trykker på en ny topic/post, så skal den jo ikke længere være markeret hvis man går tilbage til oversigten og der er andre nye topics/posts.

Edit: Oops, jeg kan se at emnet er lidt misvisende, men kan ikke redigere dette. Beklager.

- Freddie Rasmussen



Indlæg senest redigeret d. 06.01.2007 14:22 af Bruger #11105
7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Jeg ville vel tro du bare kan gøre således

Når brugeren kommer til din side laver du en liste af tråd ide'er indeholdende de tråde som er blevet opdateret siden han sidst besøgte siden og gemmer den i brugerens session. Tråde hvis post er nyere ind brugerens last visit.

For hver tråd brugeren læser fjerner du trådens id fra listen hvis den er der.

Så det jo bare et spørgsmål om i tråd listerne at markere de trådes hvis id er i listen af opdateret tråde.

Dette system vil dog ikke fange hvis tråde bliver opdateret fra brugeren først kommer på siden og til den sidste opdatering.
I tilfælde af at din last visit kun opdateres når brugeren kommer til siden første gang i en session vil ovenstående teknik også makere tråde han selv postet i under foregående besøg som opdateret tråde. For at fjerner denne fejl skal last visit være sat til den tid som var brugerens sidste handling på din side.




Indlæg senest redigeret d. 06.01.2007 16:21 af Bruger #5620
Hver gang brugeren gør noget på siden opdaterer du hvad klokken er og gemmer det i bruger-tabellen, så kan du lave et databseudtræk der tager emner efter det tidspunkt brugeren sidst besøgte siden.



Det har jeg allerede, til min online-liste.

Problemet er jo så, at går du ind på siden opdaterer den med det samme, og der vil jo derfor aldrig være posts der er nyere end brugerens sidste "aktivitet"..



Ja, det problem kan jeg selvfølgelig godt se. Det du sådan set skal have fat i, er at vide hvornår den besøgende forlader din side, og så gemmer det tidspunkt. Det ved jeg dog ikke lige hvordan kan gøres.

Jeg kiggede lige i phpbb's kildekode hvor der står
Fold kodeboks ind/udKode 


Men hvordan de sørger for det ikke bliver overskrevet når brugeren besøger siden igen ved jeg ikke lige, prøver at kigge koden igennem og se hvad jeg kan finde ud af.



Indlæg senest redigeret d. 06.01.2007 15:29 af Bruger #3275
Jeg har allerede et script der gemmer brugerens "last action", og når han så har været inaktiv i et par minutter, så smider den det over i "last visit" .. Hvis du kan følge mig. :)

Et af mine problemer er hvordan jeg får den til at fjerne "new post"-ikonet fra én af trådene, hvis der nu er flere nye siden sidste besøg.

Det er sgu lidt indviklet at forklare :)



@Nørden:

Det lyder som en løsning, det tror jeg lige at jeg vil lege lidt med. :)

Vender lige tilbage når jeg har kigget på det.



Indlæg senest redigeret d. 06.01.2007 16:52 af Bruger #11105
Jeg ville vel tro du bare kan gøre således

Når brugeren kommer til din side laver du en liste af tråd ide'er indeholdende de tråde som er blevet opdateret siden han sidst besøgte siden og gemmer den i brugerens session. Tråde hvis post er nyere ind brugerens last visit.

For hver tråd brugeren læser fjerner du trådens id fra listen hvis den er der.

Så det jo bare et spørgsmål om i tråd listerne at markere de trådes hvis id er i listen af opdateret tråde.

Dette system vil dog ikke fange hvis tråde bliver opdateret fra brugeren først kommer på siden og til den sidste opdatering.
I tilfælde af at din last visit kun opdateres når brugeren kommer til siden første gang i en session vil ovenstående teknik også makere tråde han selv postet i under foregående besøg som opdateret tråde. For at fjerner denne fejl skal last visit være sat til den tid som var brugerens sidste handling på din side.


Okay, jeg kan ikke lige gennemskue det.

Hvordan får jeg lavet den liste med id'er?



t