Motore di ricerca su database access

di il
1 risposte

Motore di ricerca su database access

Salve, dovrei creare un motore di ricerca in funzione al riferimento dell'annuncio, per essere più chiari si tratta di annunci immobiliari, quindi un cliente inserendo il rif. XXX gli dovrebbe apparire l'annuncio interessato. Io sono riuscito a crearlo in funzione al riferimento alla chiave primaria cioè il Contatore, però il campo di riferimento non è il contaotre ma un campo testuale.
Chi sa aiutarmi?
Ecco il mio script :
<form action="cercarif.asp" method="post" name="form">
<table bgcolor="#80ffff" border="2" cellpadding="3" cellspacing="5" width="98%" bordercolor="#000080"><tr><td align="center">
<font face="Verdana" size="2"><b>Cerca N° Rif.:</b> &nbsp; <input type="text" name="varId" size="40" value="10" style="font-size: 9pt"> &nbsp; <input type="submit" name="submit" value="Ricerca" style="color: #004080s; font-family: Verdana; font-size: 8pt; border-color: #000080; background-color: #80ffff"></font></td></tr></table>

<%
If request("submit")<>"" AND varError="" Then
SQL="SELECT tbl_proposta.col_id, tbl_proposta.col_paid, tbl_proposta.col_categoria, tbl_proposta.col_subcategoria, tbl_proposta.col_prezzo, tbl_proposta.col_comune, tbl_proposta.col_date, tbl_proposta.col_approvafoto, tbl_provincia.col_nome as col_provincia FROM tbl_proposta INNER JOIN tbl_provincia on tbl_proposta.col_provincia = tbl_provincia.col_id "
If Not IsEmpty(Request("varId")) Then
If IsNumeric(Request("varId")) Then
blnWhere = True 'Set where to true
sql = sql & "WHERE "
sql = sql & "(tbl_proposta.col_id = " & CStr(CLng(Request("varId"))) & ") "
End If
End If
Set rsMain3 = Server.CreateObject("ADODB.Recordset")
rsMain3.Open SQL, MM_conn_STRING,1,1
%>

1 Risposte

  • Re: Motore di ricerca su database access

    Prova questo script:

    <%@LANGUAGE = JScript%>
    <%

    Response.Buffer = true;
    var Cn = new ActiveXObject("ADODB.Connection");
    Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("cerca.mdb"));
    var testo = new String(Server.HTMLEncode(Request.Form("cerca")));
    var r_testo = testo.replace(/'/g,"''");
    var cerca = r_testo.split(" "); // Tutte le parole chiave devono essere separate da uno spazio vuoto
    var sql = "SELECT * FROM risultati WHERE ";
    for (var i=0; i<cerca.length; i++)
    {
    if (i > 0) sql += " AND";
    sql += " parole_chiave LIKE '%" + cerca + "%'";
    }
    sql += " ORDER BY titolo";
    var Mostra = Cn.Execute(sql);
    %>
    <html>
    <head>
    <title>Cerca</title>
    <basefont size="2" face="Verdana">
    </head>
    <body link="Blue" alink="Red" vlink="Blue">

    <h3>
    <b>Cerca</b>
    <form method="post" action="cerca.asp">
    <input type="text" name="cerca" size="50" value="<%cerca != "undefined" ? Response.Write(testo) : Response.Write("")%>">
    <input type="submit" value="Cerca">
    </form>
    </h3>

    <%if (testo != "undefined") {%>
    <p><b>Risultati della ricerca per il termine <font color="Red"><%=testo%></font></b></p>
    <%
    if (testo == "" || testo == "undefined" || testo.charAt(0) == " ")
    {
    Response.Write("<p>Inserire un termine per effettuare una ricerca</p>");
    }
    else if (Mostra.EOF)
    {
    Response.Write("<p>Nessun risultato</p>");
    }
    else
    {
    while (!Mostra.EOF)
    {
    with (Response)
    {
    Write("<p>");
    Write("<a href='" + Mostra("url") + "' target='_blank'>" + Mostra("titolo") + "</a><br>");
    Write(Mostra("descrizione") + "<br>");
    Write("<font color='Green'>" + Mostra("url") + "</font>");
    Write("</p>");
    }
    Mostra.MoveNext();
    }
    }
    %>
    <%}%>

    </body>
    </html>
    <%Cn.Close()%>
Devi accedere o registrarti per scrivere nel forum
1 risposte