09. november 2011 - 08:12Der er
1 kommentar og 1 løsning
Find ud af om spørgsmål du deltager i er ændret
Hejsa,
Jeg sidder lidt og fifler med, at lave et lille forum. Jeg kunne godt tænke mig, at give en bruger oplysninger, hvis der er nye indlæg i en tråd de har deltaget i før.
Jeg har en database med threads, også har jeg en med answers.. Hvordan ville i stille det op?
Jeg tænker lidt, at det skal være noget relations database?
Du skal have et felt i din bruger tabel for hvornår han sidst var logget ind.
Så er det var at undersøge om der er poster nyere ind hans sidste logind, med samme tråd id som en af hans poster.
Pseudo select noget i retning af dette me og lasttime skal udskiftes:
SELECT * FROM posts WHERE threadid IN (SELECT threadid FROM posts WHERE userid=me GROUP BY threadid) AND posttime > lasttime
Dette har selvfølgelig nogle fejl. 1. Poster der bliver oprettet i tråde mens han er logget ind i forummet bliver: Hvis tiden er fra han logger ind: markeret som ulæste. Hvis tiden er fra han refresher siden: markeret som læste.
Alternativt kunne du lave en user_thread_participate tabel, der sætter tiden, hver gang brugeren refresher trådens side. Men så får du en tabel med sum_i_n(m_i) rækker, hvor n er antallet af brugere og m_i er antallet af tråde bruger i har deltaget i.
Plejer at lave em tabel med brugerens id, og postens id. Og hver gang brugeren besøger en post/tråd med flere posts, så registreres det i tabellen.
Så hvis der findes en tråd, hvor der er en post, som ikke er angivet i tabellen, så vises den som ulæst / opdateret e.lign. På den måde kan du tracke alle poster for alle brugere...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.