Just nu i M3-nätverket
Jump to content

Skicka i formulär!


johan_gr

Recommended Posts

<%sql= "SELECT distinct fltNamn, fltID FROM tblFonder"

set rs= db.Execute(sql)

%>

<% do until rs.eof%>

 

<form name=updatefond_all method='post' action='updatefond_all2.asp'>

 

<table border= "0">

 

<input type='hidden' value="<%=rs("fltID")%>" name=fltFondId size='10' maxlength='10'><b><%=rs("fltNamn")%></b>

 

<tr>

<td>Kurs:</td> <td><input type='text' value="" name=fltKurs size='10' maxlength='10'></td>

</tr>

<tr>

<td>Datum:</td> <td><input type='text' value="" name=fltDate size='10' maxlength='10'></td>

</tr>

 

</table>

<%

rs.MoveNext

loop

%>

 

<input type = submit value = "Registrera" id=submit1 name=submit1>

<input type = "BUTTON" value = "Börja om" id=button1 name=button1 onclick=rensa();>

</form>

 

Nu kanske jag listar 3 st olika fonder, Nu vill jag kunna uppdatera alla med en gång, funkar det?

Eller hur ska man gå till väga? Tänker jag i fel banor?

Tacksam för svar!

/Johan

Link to comment
Share on other sites

hej

 

nej då du gör nog rätt. Om jag fattat rätt vill säga =)

 

jag ser några saker jag skulle gjort.

 

&amp; = och tecken (mysko eforum =/)

 

[sIDA 1]

' Denna skall inte ligga i loopen(då görs ju 3 st forms)
<form name="updatefond_all" method="post" action="updatefond_all2.asp">
<%
' Öppna db.rs här

' loop:a igenom alla värden som ska med
do

' Fond_index plussar en för var fond som du har
response.write("<input type=""hidden"" value=""" &amp; rs("fltID") &amp; """ name=""fltFondId" &amp; fond_index &amp; """>") 

'Här skriver du det användaren skall kunna skriva in... Kurser eller vad det va

fond_index = fond_index+1
loop

' Skickar med totalt antal fonder du har%>
<input type="hidden" value="<%=fond_index-1%>" name="fond_index"> 
<input type = submit>
</form>

[sPARA SIDA]

<%
for i = 0 to Request.Form("fond_index")
'öppna db.rs där fltFondId stämmer
WHARE fltFondId = Request.Form("fltFondId" &amp; i)

'... Gör allt som ska sparas ...

' stäng db.rs
next
%>

Hoppas du förstår hur jag menar. det enda extra jag gjorde va att skicka med ett index. detta behövs ju kanske inte om du bara har 3 fonder som du vet id på och aldrig vill ha fler. Hoppas du fattar vad jag menar..

[inlägget ändrat 2002-12-10 13:07:20 av GronK]

[inlägget ändrat 2002-12-10 13:07:43 av GronK]

Link to comment
Share on other sites

fan nu har jag testat så jag blir galen snart =)

Får det inte att fungera när jag ska ta emot det jag skickar.

 

Detta skickas..ex

POST Data:

fltFondId=12&fltKurs=100&fltDate=01&fltFondId1=11&fltKurs=200&fltDate=02&fltFondId2=10&fltKurs=300&fltDate=03&fond_index=2%3B

 

det stämmer ju bra eller..måste allt man skicka ha ett unikt namn..du har jag ju flera som heter fltKurs ex.??

 

hur tar jag emot det..?

 

<%for i = 0 to Request.Form("fond_index")%>

 

<%sql= "SELECT distinct fltNamn, fltID FROM tblFonder"

set rs= db.Execute(sql)

%>

<%

strID rs("fltID")=Request.Form("fltFondId i")

strKurs rs("fltID")=Request.Form("fltKurs")

strDate rs("fltID")=Request.Form("fltDate")

%>

<%rs.MoveNext%>

<%NEXT%>

 

får detta fel ...

Feltyp:

Körningsfel i Microsoft VBScript (0x800A000D)

Inkompatibla typer: '[string: "2;"]'

/kspi/updatefond_all2.asp, line 4

 

Förstår inte riktigt hur man sätter ihop strängar mm ex strID rs("fltID")=Request.Form("fltFondId i") funkar det?

 

 

 

 

Link to comment
Share on other sites

hej

jag tror du rört till det lite för dig och jag hjälpte nog dig inte särskilt mycket med mitt svar så jag provar igen.

 

i databasen så har du en tabell som heter

[tblFonder] som inehåller fltFondId, fltKurs, fltDate

 

[sIDA1]

<form name="updatefond_all" method="post" action="updatefond_all2.asp">
<%
'Du skrev några andra men jag tar bara det du behöver
sql= "SELECT fltFondId, fltKurs, fltDate FROM tblFonder"
set rs= db.Execute(sql)

response.write("<table border=""0"">")
do until rs.eof

' gör inputs för varje fråga
response.write("<input type=""hidden"" value=""" & rs("fltFondId") & """ name=""fltFondId" & fond_index & """>")
response.write("<tr><td>Kurs:<input type=""hidden"" value="""" name=""fltKurs" & fond_index & """></td></tr>")
response.write("<tr><td>Datum:<input type=""hidden"" value="""" name=""fltDate" & fond_index & """></td></tr>")

fond_index = fond_index+1
loop
response.write("</table>")

' Skickar med totalt antal fonder du har%>
<input type="hidden" value="<%=fond_index-1%>" name="fond_index"> 
<input type = submit>
</form>

 

 

[updatefond_all2.asp]

<%for i = 0 to Request.Form("fond_index")

' lägg till WHARE så vet du var det skall ändras
sql= "SELECT fltFondId, fltKurs, fltDate FROM tblFonder WHARE fltFondId = " & Request.Form("fltFondId" & i)
set rs= db.Execute(sql)

'Request.Form("fltFondId") behöver vi ju inte ändra det ska va den samma
'om du menar att i databasen heter fltFondId - fltID då måste du ändra din kod
'skriv bara fltID överallt där det står fltFondId

'Här skriver vi in de nya värdena i db
rs("fltKurs") = Request.Form("fltKurs" & i)
rs("fltDate") = Request.Form("fltDate" & i)

' rs.movenext är onödig för fltFondId är ju unikt så sql satsen skall ju bara hämta en post
rs.update ' behöver vi för att updatera värdena i db
rs.close ' behöver vi oxå. Så vi kan anropa nästa fltFondId som skall ändras
next%>

 

Lycka till

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...