BrimbaMedlem sedan dec. 19992 966 inlägg Hej!
Jag har problem nu!
<%
DO UNTIL RS.EOF
mTypid = RS("UnderKatID")
%>
<%=text%><%=RS("Kategori")%></font><br>
<SELECT name="<%=RS("Kategori")%>" onChange="tal<%=RS("UnderKatID")%> = this[this.selectedIndex].pris *1,updatera()">
<OPTION name="processor" pris="0" value="">Inget</OPTION>
<% DO UNTIL RS.EOF OR RS.BOF OR mTypid <> RS("UnderKatID")
mTypid = RS("UnderKatID")
strArtikel= Rs("Artikel")
if Len(strArtikel) > 30 then
strArtikel = Left(strArtikel,30) & "..."
end if
%>
<OPTION name="<%=RS("Kategori")%>" pris="<%=RS("ArtExkl")%>" value="<%= RS("ArtID") %>"><%= strArtikel%> - <%= RS("ArtExkl")%>kr</OPTION>
<%
RS.MoveNext
IF RS.EOF THEN EXIT DO
Loop
%>
<OPTION value=""><% = mellan %></OPTION>
</SELECT>
<br>
<%
Loop
%>
Jag vill alltså på nästa sida kunna hämta flera variabler, såsom Request.Form("Pris")
Request.Form("Namn")
Request.Form("Antal")
Request.Form("ID")
Men detta går ju inte då, select endast kan inneha value="". Min pris="" Är ju inte giltig. Någon som har något tips angående detta?
Jag tänkte man kunde avskilja med ;
Typ såhär:
<%=RS("ArtID")%>;<%=RS("ArtExkl")%>;<%=RS("Antal")%>;<%=RS("Artikel")%>
Och sedan skilja på det så här:
anyString<%=mTypid%> = document.form1.<%=RS("UnderKatID")%>.options[document.form1.<%=RS("UnderKatID")%>.selectedIndex].value;
NewanyString<%=mTypid%> = anyString<%=mTypid%>.split(";");
För att sedan kämta upp informationen genom:
NewanyString<%=mTypid%>[0] för exempelvis ArtID då.
Men detta är sånt strul, jag har ingen direkt lösning. Skulle bli tacksam för en lösning i ord som jag kan arbeta vidare på, gärna en komplett lösning om hur jag skall ange selectsatsen och options variablerna. Även hur jag delar upp detta sedan.
Även kodlösningar accepteras.
Tack!
------------------
Mvh
Patrik
aka Brimba
www.datormaklarna.se
patrik@datormaklarna.se
VideMedlem sedan dec. 19996 094 inlägg Alvarligt talat förstår jag inte vad du vill... vill skicka med värden ifrån alla select?
Förklara ytterliga... har du kanske en sida man kan kolla på?
------------------
Ha alltid ett mellanrum mellan och och och, och min hemsida: webeye.nu
BrimbaMedlem sedan dec. 19992 966 inlägg Hej!
Jag (err Emission) har löst det nu ;)
Tack!
------------------
Mvh
Patrik
aka Brimba
www.datormaklarna.se
patrik@datormaklarna.se
VideMedlem sedan dec. 19996 094 inlägg OK... *Men Vide är fortfarande väldigt sugen på att veta vad Brimba menade... och svaret ocksp :)*
------------------
// Vide - Moderator, webForum
BrimbaMedlem sedan dec. 19992 966 inlägg Mer problem.
<%
DO UNTIL RS.EOF
mTypid = RS("UnderKatID")
%>
<tr>
<td align=left bgcolor="#DDDDDD" width="60%">
<INPUT TYPE="HIDDEN" NAME="kats" VALUE="kategori<%=RS("UnderKatID")%>">
<%=text%><%=RS("Kategori")%></font><br>
<SELECT name="kategori<%=RS("UnderKatID")%>" onChange="update(this.options[this.selectedIndex].value,'kategori<%=RS("UnderKatID")%>');">
<OPTION value="">Inget</OPTION>
<% DO UNTIL RS.EOF OR RS.BOF OR mTypid <> RS("UnderKatID")
mTypid = RS("UnderKatID")
strArtikel= RS("Artikel")
if Len(strArtikel) > 30 then
strArtikel = Left(strArtikel,30) & "..."
end if
namneller = "kategori" & RS("UnderKatID")
%>
<OPTION value="<%= RS("ArtID") %>;<%= RS("ArtExkl")%>;<%= RS("Artikel")%>"><%= strArtikel%> - <%= RS("ArtExkl")%>kr</OPTION>
<%
RS.MoveNext
IF RS.EOF THEN EXIT DO
Loop
%>
<OPTION value=""><% = mellan %></OPTION>
</SELECT>
<br>
</td>
<TD bgcolor="#DDDDDD" valign="top" align="center" width="20%"><INPUT SIZE="3" NAME="<%=namneller%>qty" onChange="checkQty(this);"></TD>
<TD bgcolor="#DDDDDD" valign="top" align="center" width="20%"><INPUT SIZE="6" NAME="<%=namneller%>exkl"></TD>
</tr>
<%
Loop
%>
Den koden fungerar perfekt, men nu skall jag hämta upp värderna som jag har loopat igenom.
Därmed kan jag tänka mig att göra en ny databas koppling och göra en ny loop..
Jag provade lite såhär:
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\dmab\test\DMAB2.mdb"
SQLStmt = "SELECT tabUnderKat.UnderKatID, tabUnderKat.Kategori, tabArt.ArtID, tabArt.ArtExkl, tabArt.UnderKatID, tabArt.Artikel FROM tabUnderKat INNER JOIN tabArt ON tabUnderKat.UnderKatID = tabArt.UnderKatID WHERE tabUnderKat.HuvudKatID = " & 1 & " ORDER BY tabArt.UnderKatID, tabArt.Artikel"
SET RS = Connection.Execute(SQLStmt)
Set RSObj = Server.CreateObject("ADODB.Recordset")
RSObj.ActiveConnection = Connection
RSObj.CursorType = 1 ' adOpenKeyset
RSObj.LockType = 3 'adLockOptimistic
If session("OrderID") = "" Then
RSObj.Source = "tabOrder"
RSObj.Open
RSObj.AddNew
RSObj("SaljarID") = 7
RSObj.Update
orderID = RSObj("OrderID")
Session("OrderID") = orderID
RSObj.Close
RSObj.Source = "tabOrderArt"
RSObj.Open
RSObj.AddNew
RSObj("OrderID") = orderID
Do Until RS.EOF
If Request.Form("kategori" & RS("Kategori")) <> "" Then
strArr=split(Request.Form("kategori" & RS("UnderKatID")),";")
x = strArr(0)
y = strArr(1)
z = strArr(2)
RSObj("ArtID") = x
RSObj("Artikel") = z
RSObj("ArtAnt") = Request.Form("kategori" & RS("UnderKatID") & "qty")
TAL = Request.Form("kategori" & RS("UnderKatID") & "exkl")
For i = 1 To Len(TAL)
If Asc(Mid(TAL,i,1)) > 47 AND Asc(Mid(TAL,i,1)) < 58 then
var = var & Mid(TAL,i,1)
End If
Next
RSObj("ArtExkl") = var
RS.MoveNext
Loop
RSObj.Update
RSObj.Close
Set RSObj = Nothing
Connection.Close
Else
RSObj.Source = "tabOrderArt"
RSObj.Open
RSObj.AddNew
RSObj("OrderID") = orderID
Do Until RS.EOF
If Request.Form("kategori" & RS("Kategori")) <> "" Then
strArr=split(Request.Form("kategori" & RS("UnderKatID")),";")
x = strArr(0)
y = strArr(1)
z = strArr(2)
RSObj("ArtID") = x
RSObj("Artikel") = z
RSObj("ArtAnt") = Request.Form("kategori" & RS("UnderKatID") & "qty")
TAL = Request.Form("kategori" & RS("UnderKatID") & "exkl")
For i = 1 To Len(TAL)
If Asc(Mid(TAL,i,1)) > 47 AND Asc(Mid(TAL,i,1)) < 58 then
var = var & Mid(TAL,i,1)
End If
Next
RSObj("ArtExkl") = var
RS.MoveNext
Loop
RSObj.Update
RSObj.Close
Set RSObj = Nothing
Connection.Close
End If
Om någon kan komma på någon lösning på mitt problem vore jag tacksam.
Saken är alltså att alla selectsatser som har något värde skall in i databasen. Därmed måste det ju ske genom en loop för att få fram namnet från selectsatsen.
Eller har jag fel?
Tack!
------------------
Mvh
Patrik
aka Brimba
www.datormaklarna.se
patrik@datormaklarna.se
emissionMedlem sedan dec. 19996 095 inlägg Psst! Du har ett antal hidden-fält som innehåller namnen på alla select:ar. Dat's evrysing yo need, my friend.
BrimbaMedlem sedan dec. 19992 966 inlägg Ok, du menar ungefär att jag skall ta fram alla kats och loopa igenom dessa eller? :q
------------------
Mvh
Patrik
aka Brimba
www.datormaklarna.se
patrik@datormaklarna.se
BrimbaMedlem sedan dec. 19992 966 inlägg
intehänu
Hu é dé mé Schwenskán ÉmíSSioN? :e
emissionMedlem sedan dec. 19996 095 inlägg for i=1 to request.form("kats").count
thiskat=request.form("kats")(i)
blablabla....
next