Hoe wordt dit in vredesnaam bijgehouden? Kan me niet voorstellen dat er bij elke thread-view in een cookie wordt geregistreerd wanneer deze voor het laatst bekeken is oid...
Ideeën?
Ideeën?
disjfa - disj·fa (meneer)
disjfa.nl
If it ain't broken it doesn't have enough features
He? In welke vorm dan?Op vrijdag 05 juli 2002 15:19 schreef disjfa het volgende:
opgeslagen in een index tabel in de db
Verwijderd
Ja, maar is het niet de bedoeling dat je die $lastvisitcookietime van jou zo vaak mogelijk update, waardoor er dus nooit nieuwe posts zijn in die vergelijking?Op vrijdag 05 juli 2002 15:20 schreef Apache het volgende:
je hebt er slechts 1 count voor nodig en een where die eruit ziet als WHERE posttime > $lastvisitcookietime oid.
Maar wat als je reageert op een topic wat al geopend is voor je bezoek (ouwe topics omhoog schoppen bijvoorbeeld)? Dan telt het topic nummer niet meer op.Op vrijdag 05 juli 2002 15:21 schreef Gomez12 het volgende:
Gewoon in een cookie een last visited date opslaan???
Of gewoon max(last topic nr) opslaan, dus dat als iemand topic 2000 leest en als last topic nr stond 1000 dan overschrijven, als last topic nr>=2000 niet overschrijven.
Dit wel op voorwaarde dat je topic nummers oplopend zijn, al lijkt me dit wel het meest logische / handige.
enkel nieuwe cookiezetten wanneer de gebruiker zijn vorige sessie verlopen is (maw browser gesloten word)Op vrijdag 05 juli 2002 15:21 schreef Oscar Alexander het volgende:
[..]
Ja, maar is het niet de bedoeling dat je die $lastvisitcookietime van jou zo vaak mogelijk update, waardoor er dus nooit nieuwe posts zijn in die vergelijking?
If it ain't broken it doesn't have enough features
If it ain't broken it doesn't have enough features
Ah, dat is een goeie!Op vrijdag 05 juli 2002 15:26 schreef Apache het volgende:
niet echt, de oude visit time slaag je natuurlijk eerst op in een session var daarna zet je de cookie met huidige tijd en je query doe je adhv die sessionvar met daarin de tijd van het vorige bezoek.
If it ain't broken it doesn't have enough features
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| if(!isset($HTTP_COOKIE_VARS["fplastvisit"])) {
$expires = time() + 604800;
setcookie("fplastvisit", date("Y-m-d H:i:s"), $expires);
$_SESSION["fpssn_lastvisit"] = date("Y-m-d H:i:s");
} else {
if(!isset($_SESSION["fpssn_lastcheck"])) {
$_SESSION["fpssn_lastvisit"] = $HTTP_COOKIE_VARS["fplastvisit"];
$_SESSION["fpssn_lastcheck"] = 1;
}
$expires = time() + 604800;
setcookie("fplastvisit", date("Y-m-d H:i:s"), $expires);
} |
Verder niet naar gekeken, maar gebruik aub $_COOKIE ipv $HTTP_COOKIE_VARS, tis de standaard en HTTP_COOKIE_VARS gaat er ooit uit..Op vrijdag 05 juli 2002 15:46 schreef Oscar Alexander het volgende:
Ben ik weer... Dit zou dus moeten volstaan. Theoretisch
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Verwijderd
drm:
Je kunt beter de last visit in je database opslaan, want dan is querien aan de hand daarvan ook een stuk eenvoudiger.
Juistxtentic:
Nog iets anders, hoe kan je zien dat wanneer er een post in een topic is geplaatst wanneer je dit topic daarvoor gelezen hebt?... dan zal je toch een appart topic_readed tabel moeten maken oid en daarin de userid, topicid en wanneer de user deze voor het laatst heeft gelezen..
Omdat je dan enkel hoeft te joinen, en geen sessiedata hoeft te verwerken.ddc:
Ik kan ook gewoon dingen in een sessie zitten, waarom wordt queries maken op jouw manier makkelijker ?
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Wat is het probleem van sessiedata verwerkendrm:
Omdat je dan enkel hoeft te joinen, en geen sessiedata hoeft te verwerken.
Meer code. En dus minder eenvoudig.ddc:
Wat is het probleem van sessiedata verwerken
Dat is dus de ideale situatie, omdat je je gegevens uit de database en de sessie enkel door queries hoeft te combineren, en niet door (meer) code.Overigens staan bij sommige forums complete sessies al in de database (zoals Topix).
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Nog makkelijker is per thread een rijtje te maken met daarin gegevens over de thread (wat sowieso wel moet, dingen als titel, ondertitel, stichter enz. enz.). Als je in dat rijtje nu ook gewoon een veld maakt wat "lastpost" heet, en elke keer op een nieuwe post dit laat vervangen door die tijd en datum. Kun je dus met je cookie ook kijken of er sinds je laatste bezoek in die draad nog nieuwe berichten zijn geplaatst.Op vrijdag 05 juli 2002 22:55 schreef xtentic het volgende:
Nog iets anders, hoe kan je zien dat wanneer er een post in een topic is geplaatst wanneer je dit topic daarvoor gelezen hebt?... dan zal je toch een appart topic_readed tabel moeten maken oid en daarin de userid, topicid en wanneer de user deze voor het laatst heeft gelezen..
Lijkt me een typisch geval van redundancyiCe01:
Als je in dat rijtje nu ook gewoon een veld maakt wat "lastpost" heet, en elke keer op een nieuwe post dit laat vervangen door die tijd en datum. Kun je dus met je cookie ook kijken of er sinds je laatste bezoek in die draad nog nieuwe berichten zijn geplaatst.
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz