04. maj 2003 - 20:30Der er
21 kommentarer og 1 løsning
Lave reply til forumbesked og tælle antallet af replys
Hej...
På mit site kan brugere skrive en besked. Jeg ønsker nu at lave det sådan at andre brugere kan skrive et reply til denne besked. Både selve den originale besked og reply-beskeden gemmes på samme måde i databasen, bortset fra at reply'et får følgende to:
1) replybesked = true/false (for at kende forskel på org. beskeder og replys)
2) replybeskedid = den org. beskeds ID
Alle beskeder har et felt der hedder "Replycount" - der altså skal vise hvor mange replys til findes til hver besked.
I stedet for et SQL-loop - vil jeg gerne at hver gang en bruger skriver et reply - så henter den "replybeskedid" fra den org. besked og tilføjer 1.
Du kunne evt bruge en SQL sætning til at opdater feltet med en:
Hvis du gemmer replybesked som true/false i en variable så kan du holde styr på hvor om det er en ny besked. Samt ligge 1 ind i replycount for nye beskeder.
SQL = "UPDATE beskeder SET replycount = replycount+1 WHERE beskedID = " & replybeskedid
SQL = "UPDATE beskeder SET replycount = replycount+1 WHERE beskedID = " & replybeskedid RS.Open SQL,ConnString, adOpenStatic, adLockOptimistic, adCmdTable
RS.Close '<------- denne kan måske undværes
Om til:
Set Conn = server.createobject ("ADODB.connection") Conn.Open ConnString SQL = "UPDATE beskeder SET replycount = replycount+1 WHERE beskedID = " & replybeskedid Conn.Execute (SQL) Conn.Close Set Conn = Nothing
Synes godt om
Slettet bruger
04. maj 2003 - 21:04#15
ja, det er rigtigt nok
Synes godt om
Slettet bruger
04. maj 2003 - 21:08#16
med dit sidste bud tilføjer den fint svaret - men hvert svar får bare et "1" i sin egen replycount. "1" skulle tværtimod lægges til replycount ved den originale besked og ikke ved svaret
Er replybeskedid ikke ID på den oprindelige besked? Så skulle replycount også blive talt op. Hvad står der i replycount for en besked, står der 0 eller 1 eller er det tomt?
Synes godt om
Slettet bruger
04. maj 2003 - 21:24#18
replybeskedid er id på den oprindelige besked der smides med via en querystring, ja
feltet var tomt - har prøvet at skifte det med 0 - og nu ser det ud til at virke. Dog smider den et 1-tal ind på replycount ved hvert svar - det gør ikke det store, undrede mig bare over det...
Hvis feltet er tomt = Null så forbliver det Null hvis man ligger 1 til, så du er nød til at ændre så der ligger 0 eller 1 i ved første besked.
Det er fordi jeg har tilføjet en linje den ligger 1 i:
RS.addnew
RS("besked")= request.form("besked") RS("dato") = Now RS("replybesked") = True RS("replybeskedid") = replybeskedid RS("replycount") = 1 '<------------ Denne har jeg tilføjet, den kan slettes igen
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.