08. marts 2006 - 12:31Der 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.
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... :)
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 "".
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.