Avatar billede webbe Nybegynder
08. marts 2006 - 12:31 Der er 5 kommentarer og
1 løsning

For each løkker der henter fra 2 formularfelter

Hejsa

Jeg sidder med en indkøbskurv hvor man har mulighed for at opdatere antallet af de enkelte varer man vil købe.

Jeg kan godt lave en for each løkke der henter fra det ene felt (antal), men hvordan kobler jeg det andet felt artid (er et hidden felt) på, så jeg kan få en korrekt opdatering af posterne?

Jeg bruger en Access database.

Koden:

for each antal in request.form("antal")

  sql = "Update ordrer SET Antal="&antal&" WHERE ArtID="&artid&" AND SID="&Session.Sessionid

next

Problemet er bare at variablen artid er tom og det er den jeg gerne vil have med i min for each løkke.
Avatar billede softspot Forsker
08. marts 2006 - 13:24 #1
Hvis du nu postfixede dine felter med et id som du kunne identficere arten med, så ville det være en smal sag at matche dine felter.

Eksempel:

<form>
  Vare art 1:
  <input type="hidden" name="art_1" value="1">
  <input type="text" name="antal_1" value=""><br>

  Vare art 2:
  <input type="hidden" name="art_2" value="2">
  <input type="text" name="antal_2" value=""><br>

  Vare art 3:
  <input type="hidden" name="art_3" value="3">
  <input type="text" name="antal_3" value=""><br>
</form>


Så kunne du lave en løkke som ledte efter f.eks. art (eller antal alt efter præferencer) og så via det navn finde frem til "partneren" til det felt. Nogenlunde således:

for each fld in request.form
  if left(fld, 4) = "art_" then
    artID = mid(fld,5)
    artValue = request.form(fld)
    antalValue = request.form("antal_" & artID)
   
    sql = "INSERT INTO tabel (art, antal) " & _
          "VALUES(" & artValue & "," & antalValue & ")"
    conn.Execute(sql)
  end if
next


Det kan godt være du har behov for at lave en opdatering i stedet for en oprettelse, men det finder du nok selv ud af... :)
Avatar billede webbe Nybegynder
08. marts 2006 - 13:34 #2
Kan det lade sig gøre når jeg ikke kender antallet af bestilte varer på forhånd?

Der kan jo være lige fra 1 til 30 varer!?
Avatar billede softspot Forsker
08. marts 2006 - 13:40 #3
Det er netop der den er stærk, for du gennemløber bare alle felter som har navnet art_<et eller andet id> og finder makkeren til den uanset hvormange felter der er i formularen. Du se jo heller ikke nogen form for angivelse af at der kun søges efter 3 felter i den for each-løkke jeg har lavet, vel...? :)

Det eneste du skal sørge for, er at art og antal har en makker i formularen og det får den vel når du genererer formularen ud fra din artikel-database.

Hvis din bekymring går på at der ikke skal gemmes noget i databasen hvis der ikke er skrevet et antal eller det er 0, så kan du bare lave en betinget skrivning til databasen, dvs. kun skrive hvis antal_X er forskellig fra 0 eller "".
Avatar billede webbe Nybegynder
08. marts 2006 - 13:46 #4
prøver ad....
Avatar billede softspot Forsker
08. marts 2006 - 14:09 #5
Du får lige et svar :)
Avatar billede softspot Forsker
08. marts 2006 - 14:11 #6
Tak for point :)
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