Sempre qualcosa di nuovo, meno male ci siete. Allora, ho realizzato una pagina che contiene una casella di ricerca. Essa seleziona i record presenti in un mdb a seguito dell'imissione del valore di un campo. Per evitare di fare una serie di ricerche su altri campi (e altre pagine) necessito di realizzare una serie di check box in modo che l'utente con una sola pagina inserisce un valore e selezionando il check box avvia la ricerca nei campi selezionati (check box appunto).
Ecco il codice della pagina attuale con la ricerca in un solo campo....
<%
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("
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("/database/db1.mdb"));
var sql = "SELECT * FROM db1 WHERE visibile = TRUE ";
for (var i=0; i<stringa.length; i++)
{
if (i >= 0)
{
sql += " AND";
}
sql += " nomecampo1 LIKE '%" + stringa[i] + "%'";
}
var Mostra = Cn.Execute(sql);
if (Mostra.EOF)
{
Response.Write("
Spiacente, non è stato trovato nessun risultato, riprovare..</p>");
}
else
{
while (!Mostra.EOF)
{
with (Response)
{
Write("<table width='640' cellpadding='0' cellspacing='0' align='center' bgcolor='#ffffff' border='0'><tr><td>");
Write("<TR><TD>[img]/t.gif[/img]</TD>");
Write("<TD width='16'>[img]/IMAGES/v.GIF[/img]</TD>");
Write("<TD class='informazioni'><a href=mostrarecord.asp?ID=" + Mostra("ID") + "&from=elenco'>" +Mostra("nome") + "</a>");
Write("[");
Write(Mostra("nomecampo2"));
Write("]");
Write("</TD><TD>[img]/t.gif[/img]</TD>");
Write("</td></tr></table>");
Mostra.MoveNext();
}
}
}
Cn.Close();
}
}
%>
gracias

Rispondi quotando