<%
' connessione al DB
Dim strConnect
strConnect = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("database.mdb")
' Query String
Dim regione
Dim provincia
Dim comune
regione = Trim(Mid(Request.Form("regione"), 1, 50))
provincia = Trim(Mid(Request.Form("provincia"), 1, 50))
comune = Trim(Mid(Request.Form("comune"), 1, 50))
' >>>>>>>>>>> SELEZIONO LA REGIONE <<<<<<<<<<<<<
If Trim(Mid(Request.Form("regione"), 1, 50)) = "" Then
%>
<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>">
Seleziona regione: <select name="regione">
<option value=""></option><%
' *** recupero le regioni ***
Set Regione = Server.CreateObject("ADODB.Recordset")
Regione.ActiveConnection = strConnect
Regione.Source = "SELECT DISTINCT pr_regione FROM province"
Regione.CursorType = 0
Regione.CursorLocation = 2
Regione.LockType = 1
Regione.Open()
Regione_numRows = 0
Rp__Regione = 999
Regione_numRows = Regione_numRows + Rp__Regione
While ((Rp__Regione <> 0) AND (NOT Regione.EOF))
Rs_regione = (Regione.Fields.Item("Pr_Regione").Value)
%><option value="<%=Rs_regione%>"><%=Rs_regione%></option><%
Rp__Regione=Rp__Regione+1
Rp__Regione=Rp__Regione-1
Regione.MoveNext()
Wend
Regione.Close
Set Regione = Nothing ' chiudo il recordset
%>
</select>
<input type="submit" name="Go" value="Go" />
</form>
<% Else %>
Regione selezionata: <%=regione%><br /><br />
<%
End If
' >>>>>>>>>>> SELEZIONO LA PROVINCIA <<<<<<<<<<<<<
If (Trim(Mid(Request.Form("regione"), 1, 50)) <> "") AND (Trim(Mid(Request.Form("provincia"), 1, 50)) = "") Then
%>
<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>">
<input type="hidden" name="regione" value="<%=regione%>" />
Seleziona provincia: <select name="provincia">
<option value=""></option><%
' *** recupero le provincie ***
Set Provincia = Server.CreateObject("ADODB.Recordset")
Provincia.ActiveConnection = strConnect
Provincia.Source = "SELECT * FROM province WHERE pr_regione= '"®ione&"'"
Provincia.CursorType = 0
Provincia.CursorLocation = 2
Provincia.LockType = 1
Provincia.Open()
Provincia_numRows = 0
Rp__Provincia = 999
Provincia_numRows = Provincia_numRows + Rp__Provincia
While ((Rp__Provincia <> 0) AND (NOT Provincia.EOF))
Rs_Provincia = (Provincia.Fields.Item("Pr_Desc").Value)
Rs_Provincia_Sigla = (Provincia.Fields.Item("Pr_Sigla").Value)
%><option value="<%=Rs_Provincia_Sigla%>"><%=Rs_Provincia%></option><%
Rp__Provincia=Rp__Provincia+1
Rp__Provincia=Rp__Provincia-1
Provincia.MoveNext()
Wend
Provincia.Close
Set Provincia = Nothing ' chiudo il recordset
%>
</select>
<input type="submit" name="Go" value="Go" />
</form>
<% ElseIf (Trim(Mid(Request.Form("regione"), 1, 50)) <> "") AND (Trim(Mid(Request.Form("provincia"), 1, 50)) <> "") Then %>
Sigla provincia selezionata: <%=Provincia%><br /><br />
<%
End If
' >>>>>>>>>>> SELEZIONO IL COMUNE <<<<<<<<<<<<<
If (Trim(Mid(Request.Form("regione"), 1, 50)) <> "") AND (Trim(Mid(Request.Form("provincia"), 1, 50)) <> "") AND (Trim(Mid(Request.Form("comune"), 1, 50)) = "") Then
%>
<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>">
<input type="hidden" name="regione" value="<%=regione%>" />
<input type="hidden" name="provincia" value="<%=provincia%>" />
Seleziona comune: <select name="comune">
<option value=""></option><%
' *** recupero i comuni ***
Set Comune = Server.CreateObject("ADODB.Recordset")
Comune.ActiveConnection = strConnect
Comune.Source = "SELECT loc_desc, loc_prov FROM comuni WHERE Loc_Prov = '"&provincia&"'"
Comune.CursorType = 0
Comune.CursorLocation = 2
Comune.LockType = 1
Comune.Open()
Comune_numRows = 0
Rp__Comune = 999
Comune_numRows = Comune_numRows + Rp__Comune
While ((Rp__Comune <> 0) AND (NOT Comune.EOF))
Rs_Comune = (Comune.Fields.Item("Loc_Desc").Value)
%><option value="<%=Rs_Comune%>"><%=Rs_Comune%></option><%
Rp__Comune=Rp__Comune+1
Rp__Comune=Rp__Comune-1
Comune.MoveNext()
Wend
Comune.Close
Set Comune = Nothing ' chiudo il recordset
%>
</select>
<input type="submit" name="Go" value="Go" />
</form>
<% ElseIf (Trim(Mid(Request.Form("regione"), 1, 50)) <> "") AND (Trim(Mid(Request.Form("provincia"), 1, 50)) <> "") AND (Trim(Mid(Request.Form("comune"), 1, 50)) <> "") Then %>
Comune selezionato: <%=Comune%><br /><BR />
<%
End If
' >>>>>>>>>>> RISULTATO FINALE <<<<<<<<<<<<<
If (Request.Form("regione") <> "") AND (Request.Form("provincia") <> "") AND (Request.Form("comune") <> "") Then
Set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = strConnect
rs.Source = "Select * from comuni where loc_desc='"&comune&"'"
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
rs.Open()
%>
<br/><br/><br/><br/><br/><br/>
<div align="center">Hai scelto il comune di <b><%=comune%> ( <%=provincia%> )</b></div>
<br/>
<div align="center">in <b><%=regione%></b></div>
<div align="center">val1 = <b><%=rs("val1")%></b></div>
<div align="center">val2 = <b><%=rs("val2")%></b></div>
<div align="center">zona = <b><%=rs("zona")%></b></div>
<div align="center"><br /><br /><br /><a href="<%=Request.ServerVariables("PATH_INFO")%>">Reset</a><br /></div>
<%
rs.Close
Set rs = Nothing ' chiudo il recordset
End If
' script 28/12/2010
' modificato 29/12/2010
%>