Avatar billede meyer Nybegynder
23. februar 2006 - 13:26 Der er 10 kommentarer og
1 løsning

opdater database i loop

Jeg genererer en side med inputfelter og checkboxe hvor navnet på de forskellige inputs får et genereret nummer:

<input type="checkbox" name="stkantal_<%=nr%>" value="0" size="3" />
<input type="text" name="stkantal_<%=nr%>" value="0" size="3" />

osv....

Det der så er problemet er at jeg skal hente de oplysninger og loop gennem dem og putte dem i min database, og KUN checkbox-felterne. Jeg har snart prøvet alt med intet af det virker - er der nogen der har en ide til det?
Avatar billede fennec Nybegynder
23. februar 2006 - 13:33 #1
Ikke helt sikker på hvad du mener, men det kunne være noget i denne stil:

<input type="checkbox" name="stkantal" value="<%=nr%>" size="3" />
<input type="checkbox" name="stkantal" value="<%=nr%>" size="3" />
<input type="checkbox" name="stkantal" value="<%=nr%>" size="3" />

Du kan så hente værdierne ud på alle dem der er selected med:
for each val in request.form("stkantal")
  resposne.write val
next
Avatar billede meyer Nybegynder
23. februar 2006 - 13:37 #2
Det er ikke værdien af stkantal der er forskellig det er feltnavnet stkantal_1, stkantal_2 osv...
Avatar billede fennec Nybegynder
23. februar 2006 - 13:54 #3
Det er det du bliver nød til at lave om, for du ved sikkert ikke hvor mange af dem der er??? Ellers skal du lave en hiddenfelt som indeholder antallet, som også bliver submittet, så du ved hvormange gange du skal loope igennem.

Desuden skal du også ændre navnene på checkbox'ne og textfelterne så de ikke hedder det samme:
<input type="checkbox" name="stkantalCheck_<%=nr%>" value="0" size="3" />
<input type="text" name="stkantalText_<%=nr%>" value="0" size="3" />
...
<input type="hidden" name="antalLoop" value="<%=nr%>" />

så kan du lave det sådan:
for f=1 to cInt(request.form("antalLoop"))
  response.write request.form("stkantalCheck_"& f)
  response.write request.form("stkantalText_"& f)
next
Avatar billede softspot Forsker
23. februar 2006 - 14:09 #4
Har dine rækker hvorfra du henter data et unikt id, for så kan det være at det er det id du skal bruge når du genererer formularen.
Avatar billede musicchart.dk Nybegynder
23. februar 2006 - 15:07 #5
Han kan vel bare køre hele formen igennem?

for each item in request.form
  If Left(item,13)="stkantalCheck" then
   
    bla bla bla... forstår i ideen :o)
Avatar billede musicchart.dk Nybegynder
23. februar 2006 - 15:09 #6
for each item in request.form
  If Left(item,13)="stkantalCheck" then
    response.write(request.form(item))
  end if
next
Avatar billede fennec Nybegynder
23. februar 2006 - 15:37 #7
musicchart.dk >>
Det er en mulighed, men jeg har det generelt dårligt med at bruge den metode, da den løber formdata igennem, som ikke skal bruges. Og i dette tilfælde giver det problemer, hvis der skabes et element til med navnet "stkantalCheckAll".

Så vil jeg hellere sende et tal med, også kun løbe de elementer igennem som jeg ved skal bruges.

I sidste ende er det selvfølgelig en smagssag, og jeg kender et par andre som bruger "for each item in request.form" metoden. Jeg vil bare ikke bruge den :o)
Avatar billede musicchart.dk Nybegynder
23. februar 2006 - 16:13 #8
Ja da, jeg vil også personligt have et hidden field med antal.
Mht. "stkantalCheckAll" - så ville jeg også sætte den udenfor min form :o)

Men en smagssag ja, det var også kun et bud.
Avatar billede softspot Forsker
23. februar 2006 - 17:12 #9
Hvis du selv genererer formularen og du ellers gennemløber den kontrolleret, så er det da en rimelig effektiv måde at vedligeholde data til flere poster på samme skærmbillede og gemme sikkert til en database...
Avatar billede meyer Nybegynder
23. februar 2006 - 17:33 #10
Tusind tak for hjælpen allesammen - men det blev fennec's ide der fik mig på sporet :-)

Smid lige et svar fennec.
Avatar billede fennec Nybegynder
24. februar 2006 - 08:21 #11
.o) <-- One Eyed Jack
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