Avatar billede wolfgang Praktikant
14. januar 2004 - 12:12 Der er 11 kommentarer og
1 løsning

Gem indhold fra Form List i DB

Hej med Jer,

Er der nogen her, der kan hjælpe med følgende.

Jeg har et form felt(list), der indeholder flere værdier.
Disse værdier vil jeg gerne have gemt i en tabel i min Database.

Hvordan skal dette gøres ?
Jeg formoder at der er tale om et loop, der løber alle værdier i feltet igennem og foretager en Insert.

Men hvordan fungerer det rent praktisk.

Håber der er nogen eksperter, der kan bidrage med kode, links, eksempler mv.


MVH
Wolfgang
Avatar billede myanimalfarm Nybegynder
14. januar 2004 - 12:17 #1
Du sender værdierne videre til en anden side hvor du så indsætter dem med stored procedures...det er en fremgangsmåde ihvertfald
Avatar billede wolfgang Praktikant
14. januar 2004 - 12:21 #2
Hej Myanimalfarm,

Har du noget kode eller lign., der kan hjælpe mig videre.
Jeg er på helt bar bund her :D

MVH
Wolfgang
Avatar billede soes Nybegynder
14. januar 2004 - 12:23 #3
måske noget i den her retning.

theField = Request.Form("feltnavn")
arr = split(theField, ",")

' Conn er din forbindelse til databasen

For i = LBound(arr) To Ubound(arr)
  Conn.Execute("INSERT INTO [tabel] VALUES('"& arr(i) &"')")
Next

Jeg antager at det er tekst der skal indsættes. Hvis det er tal skal du lige huske at fjerne ' fra sætningen.
Avatar billede thesurfer Nybegynder
14. januar 2004 - 12:27 #4
hmm.. jeg tror at man skal definere feltnavnene, når man bruger den sql streng..
f.eks.:
Conn.Execute("INSERT INTO [TABELNAVN] (Felt1, felt2) VALUES('værdi1', 'værdi2')
Avatar billede soes Nybegynder
14. januar 2004 - 12:31 #5
thesurfer:
ikke nødvendigvis. hvis man udfylder alle felter som nu findes i tabellen, så er det ikke nødvendigt, i det tilfælde vil det være rækkefølgen af værdierne der er afgørende for om de passer
Avatar billede thesurfer Nybegynder
14. januar 2004 - 12:42 #6
hmm.. brude theField = Request.Form("feltnavn") så ikke være theField = Request.Form ?
Altså uden at angive hvilke felt?
Avatar billede soes Nybegynder
14. januar 2004 - 12:43 #7
når det er en list hvor der er flere værdier på så er alle værdierne tilknyttet det samme navn, men adskilt med et komma
Avatar billede thesurfer Nybegynder
14. januar 2004 - 12:45 #8
Jeg kan huske noget ligende.. det med listen altså..

Men her er et eksempel der danner en sql streng, og tager højde for, om værdien er et tal eller tekst.. formen er bare et eksempel, og kan ændres..

<% option explicit %>

<form action="index.asp" method="post">
<input type="text" name="felt1" value="tekst1">
<input type="text" name="felt2" value="123">
<input type="text" name="felt3" value="tekst3">
<input type="submit" value="Send">
</form>

<%
dim item, felter, val, sql

if request.servervariables("request_method") = "POST" then

for each item in request.form
  felter = felter & item & ", "
  if isNumeric(request.form(item)) = true then
    val = val & request.form(item) & ", "
  else
    val = val & "'" & request.form(item) & "', "
  end if
next

felter = left(felter, len(felter) - 2)
val = left(val, len(val) - 2)

sql = "Insert into TABELNAVN (" & felter & ") values(" & val & ")"
response.write sql
end if
%>
Avatar billede thesurfer Nybegynder
14. januar 2004 - 12:47 #9
Jeg ved godt at man ikke behøver "= true"-delen her:
isNumeric(request.form(item)) = true

Men jeg tager det næsten altid med..
Avatar billede thesurfer Nybegynder
14. januar 2004 - 12:50 #10
soes> Det er fedt at lære noget nyt.. men jeg forstår ikke helt Request.Form("feltnavn")..
Hvilket feltnavn er det, hvis du tager formen i mit eksempel?
Avatar billede soes Nybegynder
14. januar 2004 - 13:26 #11
Lad os antage at du har følgende kode:
<form name="form1" method="post" action="">
<select name="select" size="10" multiple>
  <option>val1</option>
  <option>val2</option>
  <option>val3</option>
  <option>val4</option>
  <option>val5</option>
  <option>val6</option>
  <option>val7</option>
  <option>val8</option>
  <option>val9</option>
  <option>val0</option>
</select>
</form>

hvis du vælger val4 og val7 så vil din form data se sådan her ud:
select=val4,val7

når du henter request.form("select") får du derfor "val4,val7" som en streng der skal deles op, er du med?
Avatar billede thesurfer Nybegynder
14. januar 2004 - 13:29 #12
ahh.. en selectbox :)
Jeg gik ud fra at det var almindelige tekstfelter.. derfor ser mit script sådan ud :)
Det tænkte jeg ikke lige over.. man lærer noget (næsten) hver dag :)
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