Salve a tutti, ho un problema con una pagina asp che dovrebbe popolare due combo in base all'elemento selezionato...
Dovrei gestire un database di auto e far si che nella prima combo si selezioni la marca e successivamente l'altra combo dovrebbe aggiornarsi per i modelli relativi alla marca selezionata..
Il problema è che non visualizzo nulla all'interno di esse... i campi del DB con cui lavoro sono tutti in formato TESTO. Infatti se provo a modificare il formato dei campi mettendli NUMERICI il tutto funziona.(ovviamente devo togliere gli apici nella condizione WHERE...)Che errore commetto nel realizzare la query??Perchè penso che il problema sia proprio lì...
Di seguito riporto il codice della pagina..spero di ottenere un aiuto!!! Grazie anticipatamente!
Dovrei gestire un database di auto e far si che nella prima combo si selezioni la marca e successivamente l'altra combo dovrebbe aggiornarsi per i modelli relativi alla marca selezionata..
Il problema è che non visualizzo nulla all'interno di esse... i campi del DB con cui lavoro sono tutti in formato TESTO. Infatti se provo a modificare il formato dei campi mettendli NUMERICI il tutto funziona.(ovviamente devo togliere gli apici nella condizione WHERE...)Che errore commetto nel realizzare la query??Perchè penso che il problema sia proprio lì...
Di seguito riporto il codice della pagina..spero di ottenere un aiuto!!! Grazie anticipatamente!
Codice:
<!--#include file="conn.asp"-->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<%
Dim rs1, cn, rs2, rs4 ' Variabili per la connessione e per il Recordset
Dim Marca,Modello,Prezzo
Set rs4= Server.CreateObject("ADODB.Recordset")
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open str_cn ' Apro la connessione al database
SQL4 = "SELECT * FROM auto ORDER BY Marca" 'Query generale
' Apro il Recordset
rs4.Open SQL4,cn
if Request.form("marca")="" then
Marca="Marca"
else
Marca=Request.form("marca")
end if
if Request.form("modello")="" then
Modello="Modello"
else
Modello=Request.form("modello")
end if
' Creo un'istanza per la connessione ed una per il Recordset
%>
</head>
<SCRIPT language="Javascript" TYPE="TEXT/JAVASCRIPT">
function vai(sel)
{
if (sel.selectedIndex == 0) return;
sel.form.action = "cerca.asp";
sel.form.submit();
}
</SCRIPT>
</HEAD>
<body>
<div class="content">
<p> LE NOSTRE AUTO </p>
<h6> Ecco le auto disponibili presso il nostro autosalone, per ulteriori informazioni
<a href="contatti.asp"> contattateci</a></h6>
<%
Dim SQL1,SQL2' Creo le query SQL
SQL1 = "SELECT DISTINCT Marca FROM auto WHERE Modello='"&Modello&"'" 'Query per le marche
SQL2 = "SELECT DISTINCT Modello FROM auto WHERE Marca='"&Marca&"'" 'Query per i modelli
Set rs1= Server.CreateObject("ADODB.Recordset")
Set rs2= Server.CreateObject("ADODB.Recordset")
' Apro il Recordset
rs1.Open SQL1,cn
' Apro il Recordset
rs2.Open SQL2,cn
%>
<br />
<form method="POST" action="modCerca.asp">
<table border="0">
<tr>
<td> <select name="marca" onchange="vai(this)">
<option value="">Seleziona Marca...</option>
<%
While rs1.EOF = false
if strcomp(rs1("MARCA"),Marca)=0 then
%>
<option selected value=<%=Marca%>><%=Marca%></option>
<%
rs1.MoveNext
else
%>
<option value=<%=rs1("MARCA")%>><%=rs1("MARCA")%></option>
<%
rs1.MoveNext
end if
wend
%>
</select>
</td>
<td> <select name="modello" onchange="vai(this)">
<option value="">Seleziona Modello...</option>
<%
While rs2.EOF = false
if strcomp(rs2("MODELLO"),Modello)=0 then
%>
<option selected value=<%=Modello%>><%=Modello%></option>
<%
rs2.MoveNext
else
%>
<option value=<%=rs2("MODELLO")%>><%=rs2("MODELLO")%></option>
<%
rs2.MoveNext
end if
wend
%>
</select> </td>
<td> <input type="submit" value="Cerca"> </td>
</tr>
</table>
</form>
</div>
<%
rs1.Close
Set rs1 = Nothing
rs2.Close
Set rs2 = Nothing
%>
</body>
</html>
<%
' Chiudo il Recordset
rs4.Close
Set rs4 = Nothing
' Chiudo la connessione
cn.Close
Set cn = Nothing
%>
Ultima modifica: