webForumDet fria alternativet

knivigt värre...

ASP

5 svar · 203 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Frågan#1

Har ett problem som jag inte ens vet hur jag ska beskriva!

Jag har ett formulär som hämtar formulär innehåll ifrån en databas!

Varje produkt i formuläret kan innehålla upp till 3 kolumner med 4 alternativ(radio buttons) i varje kolumn.

Mitt problem är att ta emot datan och veta vad formulär fälten heter!

Formuläret:

<form name="form1" method="post" action="marketing_order_2.asp">
<%
markSQL="Select * From Markmat Where MarkBel="& path("MarkPathID") &" Order by MarkOrder"
Set mark=Conn.Execute(markSQL)
 Do Until mark.EOF
 %><input type="hidden" name="<%=mark("MarkID")%>-5" value="<%=mark("MarkID")%>">
<% If mark("C1_Y")="yes" Or mark("C1_Y2")="yes" Or mark("C1_Y3")="yes" Or mark("C1_Y4")="yes" Then %>
                  <input type="radio" value="none" name="<%=mark("MarkID")%>-1" onFocus="this.blur();" checked>
              <% If mark("C1_Y2")="yes" Then %>
                  <input type="radio" value="C1_P1" name="<%=mark("MarkID")%>-1" onFocus="this.blur();">
              <% End If
If mark("C1_Y3")="yes" Then %>
                  <input type="radio" value="C1_P2" name="<%=mark("MarkID")%>-1" onFocus="this.blur();">
              <% End If
If mark("C1_Y4")="yes" Then %>
                  <input type="radio" value="C1_P3" name="<%=mark("MarkID")%>-1" onFocus="this.blur();">
              <% End If %>
          <% 
End If
If mark("C2_Y")="yes" Or mark("C2_Y2")="yes" Or mark("C2_Y3")="yes" Or mark("C2_Y4")="yes" Then %>
                    <input type="radio" value="none" name="<%=mark("MarkID")%>-2" onFocus="this.blur();" checked>
                <% If mark("C2_Y2")="yes" Then %>
                    <input type="radio" value="C2_P1" name="<%=mark("MarkID")%>-2" onFocus="this.blur();">
                <% End If
If mark("C2_Y3")="yes" Then %>
                    <input type="radio" value="C2_P3" name="<%=mark("MarkID")%>-2" onFocus="this.blur();">
                <% End If
If mark("C2_Y4")="yes" Then %>
                    <input type="radio" value="C2_P3" name="<%=mark("MarkID")%>-2" onFocus="this.blur();">
                <% End If %>
            <% 
End If
If mark("C3_Y")="yes" Or mark("C3_Y2")="yes" Or mark("C3_Y3")="yes" Or mark("C3_Y4")="yes" Then %>
                    <input type="radio" value="none" name="<%=mark("MarkID")%>-3" onFocus="this.blur();" checked>
                <% If mark("C3_Y2")="yes" Then %>
                    <input type="radio" value="C3_P1" name="<%=mark("MarkID")%>-3" onFocus="this.blur();">
                <% End If
If mark("C3_Y3")="yes" Then %>
                    <input type="radio" value="C3_P2" name="<%=mark("MarkID")%>-3" onFocus="this.blur();">
                <% End If
If mark("C3_Y4")="yes" Then %>
                    <input type="radio" value="C3_P3" name="<%=mark("MarkID")%>-3" onFocus="this.blur();">
                <% End If %>
 <% End If %>
<% 
mark.MoveNext
Loop
mark.Close
Set mark=Nothing
%>
</form>

på mottagar sidan började jag bygga en "for" loop men fälten är beroende på "hidden" fältet för varje produkt. Valuen i radioknapparna är kolumnnamnen i DB:n så att jag vet vad jag ska hämta för information sen...

Gjorde det här först, men kom på att det var helt fel :(

		For Each obj In Request.Form
			If Right(obj,2) = "-5" Then
				strValu1 = Request.Form(obj)
				SQL="Select * From Markmat Where MarkID="& strValu1
				Response.Write(SQL)
				Set prod=Conn.Execute(SQL)
			End If
			
			If Right(obj2,2) = "-1" Then
				If Request.Form(obj2)=strValu1 Then
				strValue = Request.Form(obj2)
			
				If strValue<>"none" Then
					Response.Write "<br>ordered "& prod("MarkName") &"<br><br>"
				End If
				End If
			End If

		Next

Någon vänlig själ som vill hjälpa mig?

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

Medlem sedan maj 20011 312 inlägg
#2

Du skriver ut tabell fältnamnen med denna kod. Experimentera lite med den så kommer du att finna dina fältnamn till formuläret

For i = 0 to RecSet.fields.count -1
	response.write RecSet(i).name
next

------------------
Alltid lär man sig något nytt varje dag...

Medlem sedan jan. 20013 341 inlägg
#3

tabellnamnen är inga problem, det är formulärnamnen jag behöver!

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

Medlem sedan maj 20011 312 inlägg
#4

Om det är många formulär så loopar du formulärnamnet.

<FORM name="form<% =I %>"

------------------
Alltid lär man sig något nytt varje dag...

Medlem sedan jan. 20013 341 inlägg
#5

sorry menar input fältens namn i formuläret :)

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

Medlem sedan juli 20011 129 inlägg
#6
For Each Item In Request.Form
Response.Write Item & " = " & Request.Form(Item)
Next

Kanske...?

------------------
Say hello to my stinky little friend!

250 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)