Knopje om naar de eerste nieuwe post te gaan

Gestart doorLuukvdo39 reacties2.054 weergaven

40 berichten · pagina 3 van 3

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ja inderdaad, je hebt bijna alles al emo
Goed om morgen tussen 1 en 2? te gaan doen emo
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
2 en 3 cry
0
Berichten
15.446
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
*vervroegd datum naar 01-07-2009* yummie
0
Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Eauw, mij kunnen ze tussen 1 en 2 bellen, als ze dan bellen ben ik gezakt, moet om half 3 op school zijn, maar als ik helemaal niet meer kan slagen bellen ze om 3 uur, lekker geregeld weer yummie
Maar daar ging dit topic eigenlijk niet over emo
0
Luukvdo

Lid · Topicstarter

Berichten
18.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Lennard schreef:
Ja, ik zal t proberen uit te leggen voor je.
In het topicoverzicht is tijdens het opbouwen van de pagina de datum beschikbaar van de laatste door jou gelezen post.
Die datum is de hoogste van de volgende waarden:
- de laatste keer dat je op "Markeer alle fora als gelezen" hebt geklikt
- de laatste keer dat je op "Markeer alle topics als gelezen" voor het betreffende forum hebt geklikt
- de laatste keer dat je het topic hebt bekeken

Om te weten wat de laatste post is, hoef je dus alleen maar zoiets te doen:

SELECT id FROM forum_posts WHERE topic_id = t.id AND datum > $datum_die_ik_net_noemde ORDER BY datum ASC LIMIT 1


en dan heb je het id van de laatste post.
Maar dan kom je nog met het probleem dat je wilt weten op welke pagina die post staat, hoe ga je dat doen?
Dat kun je weer zo doen:

SELECT CEIL(COUNT(1) / 15) AS pagina FROM forum_posts WHERE forum_id = t.id AND datum < $datum_die_ik_net_noemde


Als je allebei die resultaten weet, dan kun je de gebruiker naar de goede pagina sturen:

/forum/topic?...&p=$pagina#$id


Maargoed, je moet dan wel die twee queries in één grote query stoppen, omdat je anders met enorm veel queries per request zit, en dat wil ik niet. Ik ben bang dat het daar fout gaat omdat de uitvoertijd dan weer te lang gaat worden naar mn zin.
Maargoed, nu ik dit zo allemaal uit zit te typen bedenk ik me dat ik t best wel eens kan proberen, misschien valt het reuze mee allemaal. emo
Anyway, hoop dat je t snapt. emo
Ja, ik denk dat ik het wel snap. Veel succes met het proberen te maken biggrin
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Ok, het gaat niet lukken omdat deze datum:
Quote:
Die datum is de hoogste van de volgende waarden:
- de laatste keer dat je op "Markeer alle fora als gelezen" hebt geklikt
- de laatste keer dat je op "Markeer alle topics als gelezen" voor het betreffende forum hebt geklikt
- de laatste keer dat je het topic hebt bekeken
pas wordt bepaald in de while lus zegmaar, dus op het moment dat de query voor de topics al is uitgevoerd.
Dat moet ook wel zo, omdat die datum natuurlijk per topic verschillend is (je bekijkt immers niet alle topics op hetzelfde moment).
Een oplossing hiervoor zou zijn om die datum in de database zelf te berekenen, maar dan wordt mn nu al zo lange query nog veel moeilijker dus daar ga ik niet aan beginnen, of om per topic een extra query uit te voeren, maar daar ben ik op tegen. clownHelaas dus. Mocht iemand een geniale suggestie hebben dan hoor ik t graag natuurlijk. biggrin
0
Luukvdo

Lid · Topicstarter

Berichten
18.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Jammer, maar ik weet niet hoe ze het bij andere forumsystemen doen (bijv. PHPBB) maar daar hebben ze het wel. Ik kan straks even kijken in de code van PHPBB of ik er daar iets van begrijp
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Volgens mij werkt het nu al een soortvan..
http://www.one2xs.com/forum/forum?id=10
als je in de rechterkolom klikt op de laatste post enzo kom je als het goed is op de pagina met je eerste ongelezen bericht..

Geen idee of het goed werkt zo. emo
0
Luukvdo

Lid · Topicstarter

Berichten
18.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Het lijkt er inderdaad op dat het werkt biggrin
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Alleen laat ie nu je laatste gelezen post zien ipv de eerste ongelezen. emo
edit:
en het werkt nog niet goed met die markeer-*-als-gelezen dingen
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren