Avatar billede kawaki Nybegynder
25. oktober 2001 - 10:24 Der er 17 kommentarer og
3 løsninger

Ang. if statment m.m.

Jeg har et lille problem som i måske kan hjælpe med...

er ved at lave et forum (lille forum) og det virker ok, men jeg er nu ved at lave det sådan at når jeg sletter et emne så slettes alle comments.

det virker ikke helt, heh hovede emnet bliver slettet, men kommentarne er der stadig!!
den går ikke ind i et if statment som jeg har lavet!

men her er lidt kode:

id = request(\"id\")

deleteindlaeg = \"DELETE FROM forum_indlaeg WHERE id=\" + id
connection.execute(deleteindlaeg)

debatcomments_command = \"SELECT * FROM forum_comments\"
set debatcomments = connection.execute(debatcomments_command)

do until debatcomments.eof or debatcomments.bof

indlaeg_id = debatcomments(\"indlaeg_id\")
comments_id = debatcomments(\"id\")

if indlaeg_id = id then
deletecomments = \"DELETE FROM forum_comments WHERE id=\" + comments_id
connection.execute(deletecomments)
debatcomments.movenext
else
debatcomments.movenext
end if
loop
Avatar billede goz Nybegynder
25. oktober 2001 - 10:27 #1
indlaeg_id=Trim(indlaeg_id) indsættes lige inden din if statement.

goz
Avatar billede eagleeye Praktikant
25. oktober 2001 - 10:28 #2
hvis du har indlæg_ID så kan du nøjes med en delete af comments:
indlaeg_id  skal så være lige den ID du slætter fra forum_indleag. så vidt jeg kan se er det også tilfældet.

deletecomments  = \"DELETE FROM forum_comments WHERE indlaeg_id=\" + id
connection.execute(deletecomments)

og så slipper du også for at loop alle dine indlægs-kommentar igennem.

Inden test af DELTE fra database såå lav lige en backup.... :)
Avatar billede eagleeye Praktikant
25. oktober 2001 - 10:30 #3
Din kode bliver:


id = request(\"id\")

deleteindlaeg = \"DELETE FROM forum_indlaeg WHERE id=\" + id
connection.execute(deleteindlaeg)

deletecomments  = \"DELETE FROM forum_comments WHERE indlaeg_id=\" + id
connection.execute(deletecomments)
Avatar billede kawaki Nybegynder
25. oktober 2001 - 10:31 #4
Ok, men nu får jeg en fejl medelse!!

hvad laver: indlaeg_id=Trim(indlaeg_id) ???
Avatar billede kawaki Nybegynder
25. oktober 2001 - 10:34 #5
sletter
id = request(\"id\")

deleteindlaeg = \"DELETE FROM forum_indlaeg WHERE id=\" + id
connection.execute(deleteindlaeg)

deletecomments  = \"DELETE FROM forum_comments WHERE indlaeg_id=\" + id
connection.execute(deletecomments)

ikke bare en ting fra forum_comments?
Avatar billede eagleeye Praktikant
25. oktober 2001 - 10:34 #6
hvis du vil lave det på din måde så put Cint omkring dine \"tal\" i if sætningen:

if CInt(indlaeg_id) = CInt(id) then
Avatar billede eagleeye Praktikant
25. oktober 2001 - 10:34 #7
Nej den sletter alle record hvor :

indlaeg_id  =  id
Avatar billede Spotgun Seniormester
25. oktober 2001 - 10:37 #8
Nu gad du jo ikke lytte på min langt lettere løsning i dit tidligere spørgsmål, så jeg må jo prøve noget andet...

Hvis du har konstrueret dine taballer en lille smule smart, kan du bruge den her måde:

id = request(\"id\")

deleteindlaeg = \"DELETE FROM forum_indlaeg WHERE id=\" + id
connection.execute(deleteindlaeg)

deletecomments = \"DELETE FROM forum_comments WHERE indlaeg_id = \"& ID
connection.execute(deletecomments)

...
du har vel forhåbentligt en registrering på hver kommentar til hvilket indlæg de hører til?

PS. Lær for din egen skyld at konstruere nogle relationelle databaser... det vil kun gøre dit liv meget nemmere, næste gang du vil lave noget lignende!
Avatar billede eagleeye Praktikant
25. oktober 2001 - 10:38 #9
spotgun>> Det har jeg jo også lige forslået :)
Avatar billede kawaki Nybegynder
25. oktober 2001 - 10:41 #10
Ja det kan jeg se 8====) takker skal du have!!!

det sparede mig 12 linjer + 16 postes i sql forumet som jeg lige har prøvet, det tog 2½ time at få dem til at opgive, og dig 10 sec til at finde svaret 8=) takker

29 point til dig.
Avatar billede kawaki Nybegynder
25. oktober 2001 - 10:42 #11
Spotgun det var bare det jeg kiggede efter i Gennerel SQL 8=) heheheheheh ikke andet...
Avatar billede goz Nybegynder
25. oktober 2001 - 10:44 #12
den fjerner overflødige blanktegn i strengen. Nogla database (Access bl.a.) levere en lang tekststreng med en masse blanktegn bagefter.
goz
Avatar billede Spotgun Seniormester
25. oktober 2001 - 10:44 #13
eagleeye: yup... jeg var lidt for langsom på aftrækkeren... i know...

Men jeg holder stadig på, at den mest korrekte løsning ville være at lave en relationel database

(JEG GIR ALDRIG OP :o)
Avatar billede kawaki Nybegynder
25. oktober 2001 - 10:47 #14
heheh det bliver du nød til 8=)
Men den db jer har på MySql er en Relationel db 8=) så..... *gg* det virkede da 8=)
Avatar billede kawaki Nybegynder
25. oktober 2001 - 10:48 #15
spotgun>> kig lige på http://friserverplads/kawaki/

sitet er overhovedet ikke færdig, men kan du lide designet?
Avatar billede kawaki Nybegynder
25. oktober 2001 - 10:49 #16
*Doh* prøv dette link istedet!!!

http://friserverplads.dk/kawaki/default.html
Avatar billede Spotgun Seniormester
25. oktober 2001 - 10:55 #17
Hmmm... Ja... designet det er da.... uhm.... Brunt?
Avatar billede kawaki Nybegynder
25. oktober 2001 - 11:00 #18
heh det var da også en måde at sige at det ikke var et fedt design!!! MuDs Rules 8=)
Avatar billede eagleeye Praktikant
25. oktober 2001 - 11:07 #19
spotgun>> mmen det er godt vi er flere der er enige om en god løsning :)
Avatar billede kawaki Nybegynder
25. oktober 2001 - 11:13 #20
hehe ja, hvorfor lære noget nyt for at lave noget så simpelt???

d->descriptor_data->pc_data->iq += iq

heheheh
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester