webForumDet fria alternativet

Forumfråga - Kontroll av nya inlägg?

ASP

5 svar · 269 visningar · startad av KaffeJanne

Medlem sedan maj 20023 inlägg
Frågan#1

Hejsan!

Jag håller på och programmerar ett eget forum, under öppningssidan för forumet så listas rubrikerna på trådarna, datumet när det senaste inlägget skrevs och hur många inlägg det finns under respektive rubrik. "Antal inlägg" under varje rubrik listar jag genom att uppdatera en post för rubriken i databasen när nya inlägg skrivs.

Nu till problemet, jag vill lista om det lagts några nya inlägg under en rubrik sedan man besökt den senast. Det kommer att vara ett forum till en mycket liten community (max 20 användare) så jag tänkte spara allt i en post under varje separat användare.

Jag har tänkt att det bästa kanske vore att ta rubriks-ID:t, spara det tillsammans med "Antal inlägg" variabeln när man trycker på rubriken för att komma till inläggen. Sedan jämföra det sparade värdet med de "nuvarande" värdena när forumet listas. Hur gör man det på ett smart sätt?

Går det att spara en sträng med t.ex. Rubriks-ID:Antal Inlägg, Rubriks-ID:Antal Inlägg, Rubriks-ID:Antal Inlägg (ex. 17:2, 18:4, 19:8) och sedan splitta upp dessa två gånger i en array och jämföra dom på nåt vis? Har försökt leta igenom gamla inlägg men inte hittat nåt som passar. (Oj vad långt det blev, hoppas nån orkar läsa)

Tack på förhand!

/Kaffe-Janne

Medlem sedan feb. 200112 078 inlägg
#2

Först och främst, välkommen till webForum! :)

Jag förstår hur du tänker och även hur du menar när du säger att du vill lagra inläggsstatistiken i en kolumn. Problemet är att det anses som dålig databasdesign (har jag lärt mig på wf ;)) att skapa 'databaser i databasen'. Dessutom är det i förlängningen svårt att iterera eller jobba med denna data (speciellt att ändra den). Egentligen är det nog bättre ifall du skapar en relationskolumn som ser ut som följande:

 usrID | rubrikID | intInlagg
-----------------------------------
   8     |     12      |  4
   8     |     14      |  5
   9     |     28      |  1

Ungefär. Då skapas en ny rad för varje ny tråd som läses av användaren. Och eftersom det inte är så vansinnigt många användare heller som du sa, så behöver inte antalet rader i denna kolumn öka speciellt explosionsartat.

Medlem sedan maj 20023 inlägg
#3

OveRRidE skrev:

Först och främst, välkommen till webForum! :)

Jag förstår hur du tänker och även hur du menar när du säger att du vill lagra inläggsstatistiken i en kolumn. Problemet är att det anses som dålig databasdesign (har jag lärt mig på wf ;)) att skapa 'databaser i databasen'. Dessutom är det i förlängningen svårt att iterera eller jobba med denna data (speciellt att ändra den). Egentligen är det nog bättre ifall du skapar en relationskolumn som ser ut som följande:

 usrID | rubrikID | intInlagg
-----------------------------------
   8     |     12      |  4
   8     |     14      |  5
   9     |     28      |  1

Ungefär. Då skapas en ny rad för varje ny tråd som läses av användaren. Och eftersom det inte är så vansinnigt många användare heller som du sa, så behöver inte antalet rader i denna kolumn öka speciellt explosionsartat.

Får tacka för välkomnandet. :e

Hmm, med den typen av konstruktion är jag rädd att att databasen exploderar. Nu vet jag inte direkt vad som anses som stort i databas sammanhang men säg att alla 20 användare läser alla de första 20 inläggen som skrivs. Då är vi redan uppe i 400 rader. Det blir klart mer lättarbetat, det är en sak som är säker. Annars hade jag tänkt att hålla på och ta fram alla värden, joina värdena till sträng, sedan spara hela strängen till statistikposten och ha mig hela tiden när man navigerar runt i forumet. Blir ju en herrans massa uppdateringar, säkert smidigare med din lösning.

Tack...

/Kaffe-Janne

Medlem sedan mars 20015 287 inlägg
#4

En ide är ju att kolla vid vilken tidpunkt snubben senast var inloggad och jämföra med tidpunkten på inläggen i databasen, på så sätt får du ju ut vilka inlägg som är nya utan någon databastabell.
Att lagra all den info som ni nämner ovan verkar kunna växa ganska mycket...

Medlem sedan feb. 200112 078 inlägg
#5

Det är ju faktiskt det som en databas är bra på, att hålla reda på mycket data på ett så strukturerat sätt som möjligt. :) Plus att du med ett par enkla SQL-join:s kan arbeta med denna data utan att behöva sök i strängar och krångla.

Frågan är om det inte blir lite väl många rader..

PS. Jag satt och funderade på cookies innan, men det funkar ju inte i längden, då kakorna inte finns kvar i alla avighet, men det gör troligtvis inläggen. :) DS. *hjärnsläpp just nu*

Medlem sedan maj 20023 inlägg
#6

solbulle skrev:

En ide är ju att kolla vid vilken tidpunkt snubben senast var inloggad och jämföra med tidpunkten på inläggen i databasen, på så sätt får du ju ut vilka inlägg som är nya utan någon databastabell.
Att lagra all den info som ni nämner ovan verkar kunna växa ganska mycket...

Jo, jag har oxå tänkt på den lösningen...den är en budgetvariant om jag inte orkar göra det riktigt...nackdelen är att om man har en massa inlägg som inte är lästa så blir dom inte heller bortmarkerade när man väl har läst dem och återgår till rubrikslistningen. Kan bli jobbigt att hålla reda på vad man läst och inte...

/Kaffe-Janne

268 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)