/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Slet mere end 1 post
Fra : JonZ


Dato : 19-06-05 12:27

Hej alle

Jeg har en side hvor folk kan oprette sig, og sende post til
hinanden. Men folk skulle jo også gerne kunne slette det post
igen. Det har jeg sådan set også fået til at virke, nu er
spørgsmålet så. Hvordan får jeg følgende til at slette mere end
blot den første post?

checkboxen ser sådan ud:

<td width="25%"><input type="checkbox" name="n1"
value="<%=(rs("id"))%>"></td>

Det bliver jo så kørt igennem en løkke. Så folk kan se alt deres
post, når folk så afkrydser checkboxen bliver det sendt til
følgende side:

strSQL = "Delete from Beskeder where tilnavn = '" & session("id")
& "' and id = '" & request.form("n1") & "'"
            
objConn.Execute(strSQL)

Det er så her problemet er, den sletter kun den første besked der
er afkrydset. Sikkert fordi den skal ind i en løkke her også, men
hvordan?

Håber der er nogen der forstod bare lidt af det og ved hvordan
jeg løser det.

Hilsen og håb om en god sommer

JonZ

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Tomasz Otap (19-06-2005)
Kommentar
Fra : Tomasz Otap


Dato : 19-06-05 12:45

JonZ proclaimed as follows:
> checkboxen ser sådan ud:
>
> <td width="25%"><input type="checkbox" name="n1"
> value="<%=(rs("id"))%>"></td>

Hej JonZ

Det nemmeste er nok at give alle de checkboxe, der indeholder ID'er,
samme navn; således at hver boks har f.eks. NAME="id".

Det betyder, at id-feltet i din Request.Form kommer til at indeholde
alle de valgte ID'er i en lang liste, således:
----------
1,4,42,23,25
----------

Du kan derefter bruge sætningen "DELETE FROM xxx WHERE id in (1,2,3)" -
f.eks.:

----------
strSQL = "delete from beskeder where tilnavn = '" & session("id") &_
"' and id in (" & request.form("id") & ")"
----------

(Jeg er ikke sikker på, om IN virker i Access SQL, men det er et
glimrende værktøj i MSSQL forespørgsler)

Husk også at checke for tom liste, ellers risikerer du at få fejl fra
SQL-serveren:
----------
if request.form("id") <> "" then
   strSQL = "delete from.......
   objConn.execute(strSQL)
end if
----------

t

--
Aequitas sequitur funera

JonZ (19-06-2005)
Kommentar
Fra : JonZ


Dato : 19-06-05 13:17

Hej Tomasz
Det varer ikke længe før der på min side skal stå "Kun med hjælp fra Tomasz
Otap"

Tomasz Otap wrote in dk.edb.internet.webdesign.serverside.asp:
>
> Det nemmeste er nok at give alle de checkboxe, der indeholder ID'er,
> samme navn; således at hver boks har f.eks. NAME="id".
>
> Det betyder, at id-feltet i din Request.Form kommer til at indeholde
> alle de valgte ID'er i en lang liste, således:
> ----------
> 1,4,42,23,25
> ----------
Jeg havde prøvet at udskrive reguest.form("id") den indeholdte 1,2,1,34
osv.

> Du kan derefter bruge sætningen "DELETE FROM xxx WHERE id in (1,2,3)" -
> f.eks.:
>
> ----------
> strSQL = "delete from beskeder where tilnavn = '" & session("id") &_
> "' and id in (" & request.form("id") & ")"
> ----------
Det var her den var galt, jeg vidste ikke det med IN og at det skulle stå i
() men det ved jeg så nu Det virker nu.

> Husk også at checke for tom liste, ellers risikerer du at få fejl fra
> SQL-serveren:
> ----------
> if request.form("id") <> "" then
>    strSQL = "delete from.......
>    objConn.execute(strSQL)
> end if

Det havde jeg ikke lige tænkt på.
Tak for hjælpen Tomasz

Hilsen JonZ

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (19-06-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 19-06-05 20:15

Tomasz Otap skrev:

> (Jeg er ikke sikker på, om IN virker i Access SQL, men det er et
> glimrende værktøj i MSSQL forespørgsler)

Det virker både i Access og MSSQL. Til gengæld er den vist ikke
understøttet i mySQL m.fl.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jens Peter Rosenkvis~ (19-06-2005)
Kommentar
Fra : Jens Peter Rosenkvis~


Dato : 19-06-05 21:45

Jens Gyldenkærne Clausen wrote:
> Tomasz Otap skrev:
>
>>(Jeg er ikke sikker på, om IN virker i Access SQL, men det er et
>>glimrende værktøj i MSSQL forespørgsler)
>
> Det virker både i Access og MSSQL. Til gengæld er den vist ikke
> understøttet i mySQL m.fl.

Jeg mener nu den virker i MySQL. Ligesom '= SOME ()' vist også gør.

JonZ (19-06-2005)
Kommentar
Fra : JonZ


Dato : 19-06-05 21:41

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
>
> Det virker både i Access og MSSQL. Til gengæld er den vist ikke
> understøttet i mySQL m.fl.

Hej Jens.

Du ved så nu, det virker også under mysql, da det er det jeg brugere.


Hilsen JonZ

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Tomasz Otap (19-06-2005)
Kommentar
Fra : Tomasz Otap


Dato : 19-06-05 21:44

JonZ proclaimed as follows:
> Du ved så nu, det virker også under mysql, da det er det jeg brugere.
>

Glimrende! Så er vi alle blevet lidt klogere af denne tråd. :)

t

--
Aequitas sequitur funera

Lars Hoffmann (19-06-2005)
Kommentar
Fra : Lars Hoffmann


Dato : 19-06-05 21:57

Jens Gyldenkærne Clausen wrote:

> Det virker både i Access og MSSQL. Til gengæld er den vist ikke
> understøttet i mySQL m.fl.

Naturligvis er den det. Både IN og NOT IN er standard SQL understøttet af alle
de databaser jeg kender til (inclusiv MySQL, oracle og PostgresSQL)

Jens Gyldenkærne Cla~ (20-06-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 20-06-05 10:39

Lars Hoffmann skrev:

> Naturligvis er den det. Både IN og NOT IN er standard SQL understøttet af alle
> de databaser jeg kender til (inclusiv MySQL, oracle og PostgresSQL)

I stand corrected.

Jeg har muligvis forvekslet med understøttelsen af subqueries:

   SELECT * FROM foo WHERE intID IN (SELECT intID FROM foobar)

- som ældre udgaver af MySQL ikke understøtter.

Beklager fejltagelsen.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste