codice:
<%
Dim sql
Dim rs
Dim pos
Dim whereCondition
Dim sqlCommand
Dim tStruttura
Dim camp
Dim cs
Dim ps
Dim terme
Dim soggCitta
Dim agriturismo
tStruttura = Request.QueryString("idStruttura")
pos = request.querystring("idPosizione")
camp = Request.QueryString("idStruttura")
cs = Request.QueryString("idStruttura")
ps = Request.QueryString("idStruttura")
terme = Request.QueryString("idStruttura")
soggCitta = Request.QueryString("idStruttura")
agriturismo = Request.QueryString("idStruttura")
Function GetQueryString()
tStruttura = Replace(tStruttura, "'", "''")
pos = Replace(posizione, "'", "''")
whereCondition = ""
sqlCommand = "SELECT * FROM Campeggi"
' POSIZIONE
If (pos & "x" <> "x") Then
If (WhereCondition & "x" <> "x") Then
whereCondition = whereCondition & " AND (posizione = " & pos & ")"
Else
whereCondition = whereCondition & "(posizione = " & pos & ")"
End If
End If
If (soggCitta & "x" <> "x") Then
If (WhereCondition & "x" <> "x") Then
whereCondition = whereCondition & " AND (soggiorno_citta = " & pos & ")"
Else
whereCondition = whereCondition & "(soggiorno_citta = " & pos & ")"
End If
End If
' tipoStruttura
If (rifugio & "x" <> "x") Then
If (WhereCondition & "x" <> "x") Then
whereCondition = whereCondition & " AND (rifugio = " & tStruttura & ")"
Else
whereCondition = whereCondition & "(rifugio = " & tStruttura & ")"
End If
End If
If (cs & "x" <> "x") Then
If (WhereCondition & "x" <> "x") Then
whereCondition = whereCondition & " AND (camperstop = " & tStruttura & ")"
Else
whereCondition = whereCondition & "(camperstop = " & tStruttura & ")"
End If
End If
If (ps & "x" <> "x") Then
If (WhereCondition & "x" <> "x") Then
whereCondition = whereCondition & " AND (sosta = " & tStruttura & ")"
Else
whereCondition = whereCondition & "(sosta = " & tStruttura & ")"
End If
End If
If (terme & "x" <> "x") Then
If (WhereCondition & "x" <> "x") Then
whereCondition = whereCondition & " AND (terme = " & tStruttura & ")"
Else
whereCondition = whereCondition & "(terme = " & tStruttura & ")"
End If
End If
If (agriturismo & "x" <> "x") Then
If (WhereCondition & "x" <> "x") Then
whereCondition = whereCondition & " AND (agritur = " & tStruttura & ")"
Else
whereCondition = whereCondition & "(agritur = " & tStruttura & ")"
End If
End If
If (camp & "x" <> "x") Then
If (WhereCondition & "x" <> "x") Then
whereCondition = whereCondition & " AND (camping = " & tStruttura & ")"
Else
whereCondition = whereCondition & "(camping = " & tStruttura & ")"
End If
End If
If (WhereCondition & "x" <> "x") Then sqlCommand = sqlCommand & " WHERE " & whereCondition
GetQueryString = sqlCommand
End Function
Set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = MM_camp3000_STRING
sql = GetQueryString()
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
rs.Open sql, MM_camp3000_STRING
%>
I due select che eseguono la ricerca:
codice:
<select name="idStruttura" class="default" id="idStruttura">
<option value="0" selected>Campeggio</option>
<option value="2">Rifugio</option>
<option value="5">Terme</option>
<option value="6">Agriturismo</option>
<option value="4">Area di sosta</option>
<option value="3">CamperStop</option>
</select>
e
codice:
<select name="idPosizione" class="default" id="idPosizione">
<option selected>Scegli la località</option>
<option value="Montagna">Montagna</option>
<option value="Mare">Mare</option>
<option value="Lago">Lago</option>
<option value="Campagna">Campagna</option>
<option value="Collina">Collina</option>
<option value="Pianura">Pianura</option>
<option value="1">Città</option>
</select>
Il primo select cerca tra 6 colonne (rifugio,camperstop,sosta,terme,agritur,camping) il secondo tra due(posizione,soggiorno_citta). Nelle mie intenzioni queso script dovrebbe escludere di volta in volta gli elementi che non si vorrebbero trovare (se io cerco agriturismo/campagna non voglio trovare agriturismo/lago o rifugio/montagna). Purtroppo non da alcun risultato positivo, anzi da solo errori
Tipo di errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Driver ODBC Microsoft Access] Parentesi chiusa in eccesso: ) nell'espressione della query '(soggiorno_citta = ) AND (camperstop = 0) AND (sosta = 0) AND (terme = 0) AND (agritur = 0) AND (camping = 0)'.
/camp3000/resultarea.asp, line 144
Dov'è che sbaglio?