ho realizzato un piccolo motore di ricerca modificando codice prelevato da web. L'utente seleziona un valore attraverso un SELECT che riporta un valore numerico prelevato da DB che corrisponde al nome di una categoria.
posto subito il codice :
<form method="POST" action="search.asp?cerca=OK">
<select name="stringa" class="campocasella">
<option value="0"></option>
<option value="11">consulenza aziendale</option>
<option value="1">agricoltura</option>
<option value="2">alberghi e ristorazione</option>
<option value="3">alimentari</option>
<option value="4">altri servizi</option>
<option value="5">arredamento e accessori</option>
<option value="6">attività immobiliari</option>
<option value="7">auto vendita ricambi noleggio riparazioni</option>
<option value="8">banche e assicurazioni</option>
<option value="9">chimica</option>
<option value="10">commercio dettaglio</option>
<option value="11">consulenza aziendale</option>
<option value="35">consulenza servizi finanziari assicurativi</option>
<option value="12">edilizia e complementi</option>
<option value="13">editoria e stampa</option>
<option value="14">energia</option>
<option value="15">grafica pubblicità e comunicazione</option>
<option value="23">impianti elettrici elettronici</option>
<option value="17">informatica e internet</option>
<option value="18">istruzione e formazione</option>
<option value="19">lavorazione legno</option>
<option value="20">liberi professionisti</option>
<option value="21">macchinari</option>
<option value="22">manufatturiere</option>
<option value="16">materiali elettrici elettronici telefonia</option>
<option value="24">meccanica</option>
<option value="25">metalli</option>
<option value="26">mobili e arredamento</option>
<option value="27">no profit</option>
<option value="28">realtà imprenditoriali non profit</option>
<option value="29">sanità</option>
<option value="31">servizi alle imprese</option>
<option value="30">servizi alle persone</option>
<option value="32">servizi e consulenza finanziaria</option>
<option value="33">sicurezza e ambiente</option>
<option value="34">sport e tempo libero</option>
<option value="36">studi commercialisti ed elaborazione dati</option>
<option value="37">studi legali e notarili</option>
<option value="38">studi tecnici e consulenti industriali</option>
<option value="39">tecnologico</option>
<option value="40">telecomunicazioni</option>
<option value="41">tessile e moda</option>
<option value="42">trasporti e logistica</option>
<option value="43">tutti i settori</option>
</select>
<input type="submit" value="Cerca">
</form>
<%
var cerca = new String(Request.QueryString("cerca"));
var testo = new String(Request.Form("stringa"));
var apice = testo.replace(/'/g,"''");
var stringa = apice.split(" ");
if (cerca == "OK")
{
if (testo == "" || testo == "undefined")
{
Response.Write("<p class='informazioni'>Inserire almeno una parola per effettuare una ricerca</p>");
}
else
{
var Cn = new ActiveXObject("ADODB.Connection");
Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/db.mdb"));
var sql = "SELECT * FROM nometabella WHERE visibile = TRUE ";
for (var i=0; i<stringa.length; i++)
{
if (i >= 0)
{
sql += " AND";
}
sql += " nomecamporicerca LIKE '%" + stringa[i] + "%'";
}
var Mostra = Cn.Execute(sql);
if (Mostra.EOF)
{
Response.Write("<p class='informazioni'>Spiacente, non ho trovato nessun risultato alla ricerca, riprova..</p>");
}
else
{
while (!Mostra.EOF)
{
with (Response)
{
Write("<p class='informazioni'>");
Write("[img]/IMAGES/v.GIF[/img]");
Write("" +Mostra("nome") + "");
Write("[");
Write(Mostra("settore"));
Write("]");
Write("</p>");
Mostra.MoveNext();
}
}
}
Cn.Close();
}
}
%>
Ecco il problema.
Se viene selezionato per esempio il settore "Alberghi e ristorazione (value="2"), il report che viene genrato contiene anche i valori abbinati al "2" cioè il "22", il "24" ecc, inserendo nell'elenco gli utenti presenti nel db abbimnati anche a quei settori.
Help me dove sbaglio? non riesco a trovare il modo di rendere univoca la risposta ed avere esclusivamente il report degli utenti abbinati al settore richiesto.
spero di essere stato chiaro e di trovare un aiuto.
grazie

Rispondi quotando