DashiMedlem sedan jan. 2005296 inlägg Det vill inte funka riktigt som det ska, distinct funkar inte på selecten grupp under den bara skriver ut all info, och selecten undergrupp och tredjegrupp får inget info alls, visas bara välj undergrupp och respektive välj tredjegrupp. Får inget felmeddelande. Hittar ni något fel?
Mvh //Darek
<% If Request.Querystring("produkter") = "" Then %>
<% visa = "SELECT DISTINCT grupp, undergrupp, tredjegrupp FROM produkter"
RS.Open visa, conn, adOpenStatic, adLockOptimistic %>
<table width="90%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<SELECT name="vgrupp">
<OPTION selected value="item">Välj grupp!</OPTION>
<%Do Until rs.EOF%>
<OPTION value="<%=RS("grupp")%>"><%=RS("grupp")%></OPTION>
<% rs.MoveNext
Loop %>
</select>
<select name="vundergrupp">
<option selected value="item">Välj undergrupp!</option>
<%Do Until rs.EOF%>
<option value="<%=RS("undergrupp")%>"><%=RS("undergrupp")%></option>
<% rs.MoveNext
Loop %>
</select>
<select name="vtredjegrupp">
<option selected value="item">Välj tredjegrupp!</option>
<%Do Until rs.EOF%>
<option value="<%=RS("tredjegrupp")%>"><%=RS("tredjegrupp")%></option>
<% rs.MoveNext
Loop
RS.Close %>
</select>
</td>
<td> </td>
</tr>
</table>
<%End If%>
TainEvilMedlem sedan aug. 2002106 inlägg Att du inte får någon info alls i två av dina select-boxar beror på att du i din första box loopar igenom hela recordsetet till slutet. Alltså är RS.EOF = True när du kommer till nästa.
DashiMedlem sedan jan. 2005296 inlägg
TainEvil skrev:
Att du inte får någon info alls i två av dina select-boxar beror på att du i din första box loopar igenom hela recordsetet till slutet. Alltså är RS.EOF = True när du kommer till nästa.
oki då får jag stänga rs och sen köra en ny sats på den andra och göra likadant med den tredje?
TainEvilMedlem sedan aug. 2002106 inlägg Antingen det, eller så fylla samtliga boxar innan du stegar fram ditt recordset, men det beror givetvis på vilket resultat du vill uppnå...
SannyWMedlem sedan jan. 2003438 inlägg Skulle man få se lite information om din databas struktur, undrar lite varför du har tre olika kolumner grupp, undergrupp, tredjegrupp?
DashiMedlem sedan jan. 2005296 inlägg
SannyW skrev:
Skulle man få se lite information om din databas struktur, undrar lite varför du har tre olika kolumner grupp, undergrupp, tredjegrupp?
produktmenyn, och jag sitter och bygger på admin delen nu.. men det funkar ändå inte som de ska, för jag vill att den ska visa undergruppen where markerade gruppen är när man väljer en o.s.v...
TainEvilMedlem sedan aug. 2002106 inlägg Då kan du nog bara fylla den första med grupp och sedan bygga undergrupp dynamiskt utifrån vald grupp med en egen select osv.
Sen vet jag inte om du behöver köra med DISTINCT, går säkert lika bra med en GROUP BY.
DashiMedlem sedan jan. 2005296 inlägg
TainEvil skrev:
Då kan du nog bara fylla den första med grupp och sedan bygga undergrupp dynamiskt utifrån vald grupp med en egen select osv.
Sen vet jag inte om du behöver köra med DISTINCT, går säkert lika bra med en GROUP BY.
jo men allt måste läsas från databasen eftersom kunden ska kunna ändra menyn själv och menyn läses från databasen osså :)
TainEvilMedlem sedan aug. 2002106 inlägg Så hur ser då strukturen på din databas ut?
DashiMedlem sedan jan. 2005296 inlägg grupp | undergrupp | tredjegrupp | artikelnr | produktnamn | pris
Data | processor | AMD - socket 775 | 25469 | AMD 2,0 GHZ | 2498
Data | processor | Intel - Socket 478 | 25498 | Intel 3,0 GHZ | 6330
SannyWMedlem sedan jan. 2003438 inlägg Möjligen en av världens längsta lösningar, men dock.
<%
'Declare global variables
Dim connection, rs, strCheck, i
'Open database connection
Sub connOpen
set connection = server.createobject("adodb.connection")
connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../../#bart$ite.mdb")&";"
End Sub
'Close recordset
Sub rsClose
rs.close : set rs = nothing
End Sub
'Close database connection
Sub connClose
connection.close : set connection = nothing
End Sub
'Get datarows
Function GetRows(ByVal strSQL)
Dim arrRecords
Call connOpen
Set rs = connection.Execute(strSQL)
If Not rs.BOF Or Not rs.EOF Then
arrRecords = rs.GetRows()
ELSE
arrRecords = ""
End If
rsClose : connClose
GetRows = arrRecords
End Function
Sub Selectgrupp(ByVal strGrupp)
'// Posthantering
arrRecords = GetRows("SELECT DISTINCT "&strGrupp&"grupp FROM produkter")
'// Posthantering
If IsArray(arrRecords) THEN
Response.Write "<select name='v"&strGrupp&"grupp' onchange='parent.frames['main'].location = 'produktervisa.asp?vgrupp="">';'>"
If Request.Form("v"&strGrupp&"grupp") = "" THEN
Response.Write "<option selected value='item'>Välj "&strGrupp&"grupp!</option>"
For i = 0 To Ubound(arrRecords,2)
strGrupp = arrRecords(0,i)
'// Skriver ut detaljerna om varje id
Response.Write "<option value='"&strGrupp&"grupp'>"&strGrupp&"grupp</option>"
Next
Else
Response.Write "<option selected value='item'>"&strGrupp&"grupp</option>"
End if
Response.Write "</select>"
End If
End Sub
%>
<form>
<table width="90%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><% Call Selectgrupp("") %></td>
<td><% Call Selectgrupp("under") %></td>
<td><% Call Selectgrupp("tredje") %></td>
</tr>
</table>
</form>
DashiMedlem sedan jan. 2005296 inlägg Jag har redan fixat att den skriver ut det, men de jag försöker göra nu är att den ska skriva ut gruppen, när jag valt en grupp så ska den lista ut undergrupp och satsen där ska vara where undergrupp och sen när man trycker på en där ska den lista ut tredjegrupp sen när man valt en där ska den gå till sida.asp?grupp=valt&undergrupp=valt&tredjegrupp=valt
Tack ändå
:)
SannyW skrev:
Möjligen en av världens längsta lösningar, men dock.
<%
'Declare global variables
Dim connection, rs, strCheck, i
'Open database connection
Sub connOpen
set connection = server.createobject("adodb.connection")
connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../../test.mdb")&";"
End Sub
'Close recordset
Sub rsClose
rs.close : set rs = nothing
End Sub
'Close database connection
Sub connClose
connection.close : set connection = nothing
End Sub
'Get datarows
Function GetRows(ByVal strSQL)
Dim arrRecords
Call connOpen
Set rs = connection.Execute(strSQL)
If Not rs.BOF Or Not rs.EOF Then
arrRecords = rs.GetRows()
ELSE
arrRecords = ""
End If
rsClose : connClose
GetRows = arrRecords
End Function
Sub Selectgrupp
'// Posthantering
arrRecords = GetRows("SELECT DISTINCT grupp FROM produkter")
'// Posthantering
If IsArray(arrRecords) THEN
Response.Write "<select name='vgrupp'>"&_
"<option selected value='item'>Välj grupp!</option>"
For i = 0 To Ubound(arrRecords,2)
grupp = arrRecords(0,i)
'// Skriver ut detaljerna om varje id
Response.Write "<option value='"&grupp&"'>"&grupp&"</option>"
Next
Response.Write "</select>"
End If
End Sub
Sub Selectundergrupp
'// Posthantering
arrRecords = GetRows("SELECT DISTINCT undergrupp FROM produkter")
'// Posthantering
If IsArray(arrRecords) THEN
Response.Write "<select name='vundergrupp'>"&_
"<option selected value='item'>Välj undergrupp!</option>"
For i = 0 To Ubound(arrRecords,2)
undergrupp = arrRecords(0,i)
'// Skriver ut detaljerna om varje id
Response.Write "<option value='"&undergrupp&"'>"&undergrupp&"</option>"
Next
Response.Write "</select>"
End If
End Sub
Sub Selecttredjegrupp
'// Posthantering
arrRecords = GetRows("SELECT DISTINCT tredjegrupp FROM produkter")
'// Posthantering
If IsArray(arrRecords) THEN
Response.Write "<select name='vtredjegrupp'>"&_
"<option selected value='item'>Välj tredjegrupp!</option>"
For i = 0 To Ubound(arrRecords,2)
tredjegrupp = arrRecords(0,i)
'// Skriver ut detaljerna om varje id
Response.Write "<option value='"&tredjegrupp&"'>"&tredjegrupp&"</option>"
Next
Response.Write "</select>"
End If
End Sub
%>
<table width="90%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><% Call Selectgrupp %></td>
<td><% Call Selectundergrupp %></td>
<td><% Call Selecttredjegrupp %></td>
</tr>
</table>
DashiMedlem sedan jan. 2005296 inlägg Den vill inte funka :)
<% visa = "SELECT DISTINCT grupp FROM produkter"
RS.Open visa, conn, adOpenStatic, adLockOptimistic %>
<form>
<SELECT name="vgrupp" onchange="parent.frames['main'].location = 'produktervisa.asp?vgrupp=<%request.this%>';">
<%If request.form("vgrupp") = "" Then %>
<OPTION selected value="item">Välj Grupp!</OPTION>
<% Else %>
<OPTION selected value="item"><%=vgrupp%></OPTION>
<% End If %>
<%Do Until rs.EOF%>
<OPTION value="<%=RS("grupp")%>"><%=RS("grupp")%></OPTION>
<% rs.MoveNext
Loop
RS.Close %>
</select>
</form>