I due select che eseguono la ricerca: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 %>ecodice:<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>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 erroricodice:<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>
Dov'è che sbaglio?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

Rispondi quotando