18. januar 2007 - 22:15Der er
14 kommentarer og 1 løsning
Problem med "for each item in request.form"
Jeg har et problem med at hente alle mine værdier fra en form. Først henter jeg alle mine spillere fra databasen med dertil 8 inputbokse for hver spiller. Alle inputbokse bliver udfyldt med data og herefter gemmes i database. Jeg har problemer med at få alle data med over med "for each item in request.form".
Det som jeg har og som virker fint er følgende: Der køres en løkke som henter følgende fra databasen (spillerid, spillernavn, raekke, p) Pt. har jeg 24 spillere <table><tr> <td bgcolor="&tblTDBgColor&"><a>"& rs("spillerid") & "</a></td>" <td bgcolor="&tblTDBgColor&"><a>"& rs("spillernavn") & "</a>, " & rs("raekke") & "</td>" <td bgcolor="&tblTDBgColor&"><input "&rundenrtjek&" onkeyup=""this.value=(/^-?\d+$/.test(this.value))?this.value:this.value.replace(/^(-?\d*)\D?$/,'$1');"" class=Inputfelt name=""spid"&rs("spillerid")&""" type=""text"" size=""10"" style=height:18;font-size:10 value=" & p & "></td>" </tr></table>
for each item in request.form if len(request.form(item)) > 0 and item <> "rundeNr" then sID = mid(item,5) p = request.form(item) SQL = "INSERT INTO POINTS (spillerID, rundeNr, point) VALUES('" & sID & "','" & rNR & "','" & p & "')" Conn.Execute(SQL) end if next
Problemet er nu hvor jeg gerne vil have nedenstående ekstra felter med i min løkke hvor den henter mine 24 spillere:
de ekstra felter skal selvfølgelig også gemmes i database i tabellen POINTS.
Det giver selvfølgelig ikke rigtig nogen sammenhængende kode, men er det ikke blot at vise hvordan jeg trækker de her værdier ud fra input løkken "for each item in request.form" og herefter gemme dem i databasen?
Jeg har en kode pt. som virker. Her lister den i en løkke spilleID, spillernavn, rakke og jeg kan skrive point i et inputfelt hvorefter jeg kan trykke på en knap og så opdatere den min POINTS tabel. Dette er koden som den er nu: ----- Kører i en løkke hvor den henter værdier fra database ----- <table><tr> <td bgcolor="&tblTDBgColor&"><a>"& rs("spillerid") & "</a></td>" <td bgcolor="&tblTDBgColor&"><a>"& rs("spillernavn") & "</a>, " & rs("raekke") & "</td>" <td bgcolor="&tblTDBgColor&"><input "&rundenrtjek&" onkeyup=""this.value=(/^-?\d+$/.test(this.value))?this.value:this.value.replace(/^(-?\d*)\D?$/,'$1');"" class=Inputfelt name=""spid"&rs("spillerid")&""" type=""text"" size=""10"" style=height:18;font-size:10 value=" & p & "></td>" </tr></table> ------------------------------------------
Her gemmes alle data fra alle spillerID´er med point for each item in request.form if len(request.form(item)) > 0 and item <> "rundeNr" then sID = mid(item,5) p = request.form(item) SQL = "INSERT INTO POINTS (spillerID, rundeNr, point) VALUES('" & sID & "','" & rNR & "','" & p & "')" Conn.Execute(SQL) end if next
Denne kode virker uden problemer.
Nu er det så at jeg skal have 7 ekstra inputfelter på min løkke som henter værdier fra databasen således, at den løkke der køre fra databasen henter spillerID, spillernavn, raekke, p, spilledekamp, goal, gul, red, v, t og u:
Når der trykkes på knap så skal alt gemmes i database i hver spillerID i en "for each item in request.form".
I bund og grund er det blot, at kunne trække en masse værdier fra inputfelter som er knyttet til nogle unikke spillerID´er og så få dem gemt i databasen ud for hver spillerID.
Håber det er til at forstå ellers ved jeg ikke hvordan jeg skal forklare det.
eller må jeg se bort fra din kode for synes den er lidt underligt sat op til den løsning.. og så kan jeg lave et kodeeksempel til dig som gør det du vil med min egen data..
Du må gerne se bort fra min opstilling, men der hvor jeg har problemet er jo hvor jeg har flere inputfelter end blot det ene. Som vist så har jeg disse inputfelter som jeg skal have overført til databasen:
Du skal kalde dine ekstra felter forskelligt, ud fra din spillerid: sID (eller hvad den nu hedder). SKITSE:
<input class=inputfelt type=text name=gul<?=sID?> value=" & gul & ">
Så kan du, hvor xxxxxxxx er navnet på feltet med spiller-id i:
for each item in request.form if len(request.form(item)) > 0 and item="xxxxxxx" then sID = mid(item,5) p = request.form(item) gul = request.form("gul" & sID) '...osv
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.