Hejsan, jobbar just nu på ett forum och vill att svaren också ska tas bort när man tar bort ett inlägg men hittar ingen smidig funktion till detta. Någon som har något förslag?
Tacksam för svar
MVH
15 svar · 336 visningar · startad av Melea
Hejsan, jobbar just nu på ett forum och vill att svaren också ska tas bort när man tar bort ett inlägg men hittar ingen smidig funktion till detta. Någon som har något förslag?
Tacksam för svar
MVH
Är det inte bättre att du inaktiverar inläggen eller arkiverar dom istället för att ta bort dom?
Annars beror det på hur du har löst trådningen, har du en tråd där svaren är kopplade till huvudinlägget är det bara att ta bort dom först och sedan huvudinlägget.
Är det ett trådat forum för du göra en rekursiv funktion som tar bort inläggen bakifrån.
Kanske lite krångligt förklarat. ;)
Mvh, Vide
Det är en tråd där svaren är kopplade till huvudinlägget och jag undrar om det inte finns ngt enklare sätt att ta bort hela inlägget med svar än att först ta bort svaren och sen inlägget.
MVH
Vilken Databasmotor har du ? Om du använder MS SQL Server så kan du använda dig av triggers som automatiskt tar bort alla relaterade undersvar till en huvudtråd när huvudtråden raderas
Förlåt om jag var otydlig, använder MySQL och så här ser koden ut än sålänge:
MySQL = " delete from forum where ID = " & Request.Querystring("postID") & " "
Conn.Execute(MySQL)
MVH
Kan du inte lägga till ditt referensid i sql-satsen?
MySQL = " delete from forum where ID ="& Request.Querystring("postID")&" [red]and refId[/red] = " & Request.Querystring("postID")
Conn.Execute(MySQL)
Hur är det kopplat då ? Har du en separat tabell för Huvudinlägg samt en separat tabell för svaren? och svaren är relaterade till huvudinlägget? Isf kan du ju göra 2st delete querys som körs efter varandra och använda ID't som kopplas mellan huvudinlägget och svaren?
Annars om allt ligger i samma tabell så har du väl ett reference ID i den tabellen mellan huvudinlägget och svaret? isf kan du ju använda båda ID'n i din delete query. Alltså ID't för huvudinlägget samt referens ID't för svaren.
Nu hänger jag inte riktigt med... Både svaren och huvudinlägget ligger i samma tabell... Vad händer om jag använder referens id och vad är det?
MVH
som JesperT visar
MySQL = " delete from forum where ID ="& Request.Querystring("postID")&" and refId = " & Request.Querystring("postID")
refID är ID't som är kopplingen mellan huvudinlägget och svaren så du vet vilka svar som hör till vilka huvudinlägg?
Referensid:t är ett id som refererar till huvudinlägget.
Huvudinlägg id:1 referensid:0
Svar id:23 referensid:1
Svar id:24 referensid:1
Alltså inläggen 23,24 är svar på huvudinlägget(1)
Okej, bytte ut koden mot den ni gav mig men nu händer absolut ingenting. :(
MySQL = " delete from forum where ID ="& Request.Querystring("postID")&" AND svarsID = " & Request.Querystring("postID")
Conn.Execute(MySQL)
MVH
Är din tabellstruktur likadan som Jesper T visade då ? Alltså SvarsId't är det ID't som Huvudinlägget har och INTE ett unikt ID för varje svar?
Se till att du har ett värde i din querystring.
Testa med att lägga in några dokument och lägg in dess id direkt i sql-satsen.
MySQL = " delete from forum where ID = 67 AND svarsID = 67"
Conn.Execute(MySQL)
svarsID har samma id som huvudinlägget men det händer ändå ingenting.
Fick lösa det genom att göra såhär:
MySQL = " delete from forum where svarsID = " & lcase(Request.Querystring("postID")) & " "
Conn.Execute(MySQL)
MySQL = " delete from forum where ID = " & lcase(Request.Querystring("postID")) & " "
Conn.Execute(MySQL)
Tack för hjälpen iallafall =)
MVH
Ja det stämmer nog.
Koden som skrevs ovan kräver ju att posten har ett ID samt ett refID som querystringen innehåller.
Kanske funkar bättre om du slänger in ett "OR" istället för "AND"
MySQL = " delete from forum where ID ="& Request.Querystring("postID")&" OR refId = " & Request.Querystring("postID")