Adam Ellesøe wrote:
>>Men så kommer jeg jo ud i problemet, jeg nævnte i min første post, at det
>>vil kræve en hel masse plads. Desuden er en join heller ikke billig at
>>foretage, især hvis den skal foretages hver gang en bruger kommer ind på
>>en side.
>
> En masse plads??? de par kb er da ikke noget at tale om...
Hvis det for _hver_ bruger skal gemmes, om en tråd er læst eller ej, vil
jeg da tro, at det hurtig kommer op i mere end et par kb.
Tænkte også på, at der jo så hele tiden skal skrives til databasen, men
det er måske bedre end at skrive en cookie? (Vil jeg selv tro, men ved
det ikke)
>>Desuden, hvis jeg opretter sådan en tabel, skal der også til at ryddes op
>>i den jævnligt.
>
> Det tror jeg ikke er nødvendigt, Kun hvis en bruger sletter sig selv, eller
> hvis beskeden slettes...
Ja, men så skal der jo foretages mere oprydning, så der er det ikke et
problem.
Mente, at hvis man bruger tidsstempel som primær markør, vil man efter
at logge ind og ud en gang, have en del poster i database, der markerer
at de tråde er læst, selvom der aldrig vil blive tjekket på dem senere.
>>En løsning jeg har overvejet, men ikke ved hvor smart det er, er at lave
>>tidsstemplet som du nævner.
>>Hver gang en bruger så læser en tråd, der er nyere end hans tidsstempel,
>>bliver det gemt i en cookie.
>
> 1. Hvis han læser en besked det er to dage siden at han har været på og han
> vælger at læse en besked fra logon dagen så vil alle beskeder fra den
> forgående dag markeres som læste... Dårlig ide...
Nej, i cookien skulle det gemmes præcis, hvilke af de nye tråde der er læst.
Så hver gang han læser en ulæst tråd, bliver det gemt i en cookie. Den
løber så ud efter en dage (så længe er de færreste vel logget ind af
gangen ;))
> 2. Hvis du taler om billig metode ift join, så er du galt afmarcheret, det
> er så vidt jeg ved ikke særligt "økonomisk" at skulle sende en cookie til
> serveren samt at skrive til den jævnligt...
Du har jo nok ret.
> 3. Er cookies tilladt hos clienten??
Kan jeg godt se problemet i.
Så vidt jeg husker fungerer sessions heller ikke uden, at man har
aktiveret cookies (ret mig hvis jeg tager fejl), og da login-løsningen
er baseret på sessions kan det vel antages, at brugeren har det tilladt.
> Jeg taler jo om et join af to tabeller i samme db, og jeg holder nu på at
> det er den bedste og mest driftsikre løsning
Vil da ikke udelukke det. :P
Mens jeg har siddet og skrevet dette svar, har jeg gjort mig et par
tanker omkring database modellen du nævnte.
Jeg antager, at antallet af læste tråd hurtigt vil blive væsentligt
større end antallet af ulæste tråde for de fleste tråde. Derfor er det
vel bedst at skrive de ulæste beskeder i databasen.
Derfor kunne det gøres ved at når en bruger loggede på, blev der skrevet
i databasen med alle de tråde, der er nye siden hans sidste besøg på siden.
Hver gang han så læser en tråd, bliver den tilsvarende post i databasen
slettet.
Herved vil man jo også kunne gemme fra besøg til besøg om en bruger har
læst en tråd.
Lyder dette som en fornuftig model?
--
Why do fireflies die so soon?
http://www.jensercube.dk/sig.asp
http://www.bevargruppeeksamen.dk