Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Ricerca in due campi

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    22

    Ricerca in due campi

    Salve ragazzi, ho fatto un db per una fumetteria, indicizzando delle carte da gioco, ecco l'html di riceca:

    <html>
    <head>
    <title>Motore di ricerca</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
    <body leftmargin="0" topmargin="0">
    <table width="500" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#990000">
    <tr>
    <td><div align="center">[img]/immagini%20utili/testata/red%20ogre.jpg[/img]</div></td>
    </tr>
    <tr>
    <td> <form action="risultati.asp" method="POST">
    <p align="center"><font color="#990000">Inserisci il nome della
    carta:</font>
    </p>
    <p align="center">

    <input type="text" name="Nome">
    <input type="submit" value="CERCA">
    </p>
    </form></td>
    </tr>
    </table>
    </body>
    </html>


    ed ecco il file d irisultati in asp:

    <body leftmargin="0" topmargin="0">
    <table width="500" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#990000">
    <tr>
    <td><div align="center">[img]/immagini%20utili/testata/red%20ogre.jpg[/img]</div></td>
    </tr>
    <tr>
    <td><div align="center"><font color="#990000">RISULTATI DELLA RICERCA:</font></div></td>
    </tr>
    <tr>
    <td><%@ LANGUAGE = JScript %> <%
    var testo = String(Request.Form("Nome"));
    if (testo=="" || testo=="undefined") Response.Redirect("ricerca_carte.htm");

    var Nome = testo.split(" ");
    var stringaDiConnessione = "driver={Microsoft Access Driver (*.mdb)};dbq=";
    stringaDiConnessione += Server.MapPath("/mdb-database/database2.mdb");
    var conn = new ActiveXObject("ADODB.Connection");
    conn.Open(stringaDiConnessione);
    %>
    <table border="0" cellpadding="0" cellspacing="20"><tr><td>Nome</td><td>Nome Inglese</td><td>Espansione</td><td>Colore</td><td>Rarità</td><td>Prezzo</td><td>Disponibili</td><td>Foto</td></tr>
    <%
    var sql = "SELECT * FROM Nomi WHERE";
    for (i=0;i<Nome.length;i++) {
    if (i>0) sql += " AND";
    sql += " Nome LIKE '%" + Nome[i] + "%'";
    }

    var ris = conn.Execute(sql);

    if (ris.EOF)
    %>
    SPIACENTE, CARTA NON PRESENTE
    <%
    else while (!ris.EOF) {
    %>
    <tr>
    <td><%=ris("Nome")%></td>
    <td><%=ris("Nome Inglese")%></td>
    <td><%=ris("Espansione")%></td>
    <td><%=ris("Colore")%></td>
    <td><%=ris("Rarità")%></td>
    <td><%=ris("Prezzo")%></td>
    <td><%=ris("Qt")%></td>
    <td>">clicca qui</td>
    </tr>
    <%
    ris.MoveNext();
    }
    %>
    </table>
    <%
    conn.Close();
    %></td>
    </tr>
    </table>


    Ora, il mio problema è che vorrei che la ricerca avvenisse sia nel campo "Nome" che nel campo "Nome Inglese" contemporaneamente. Come posso fare?
    GRAzie a tutti anticipatamente!

  2. #2
    prova così

    codice:
    var sql = "SELECT * FROM Nomi WHERE"; 
    for (i=0;i<Nome.length;i++) { 
    if (i>0) sql += " AND"; 
    sql += " Nome LIKE '%" + Nome[i] + "%' OR Nome Inglese LIKE '%" + Nome[i] + "%'"; 
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    22
    Grazie, ho provato, ma mi da questo errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Nome LIKE '%rising%' OR Nome Inglese LIKE '%rising%''.

    /risultati.asp, line 28


    Dove sbaglio?

  4. #4
    è pessima pratica mettere gli spazi nei nomi di campo... se non ne puoi fare a meno, usa la sintassi

    [nome di campo]

    nel tuo caso potrebbe essere

    codice:
    ....
    sql += " Nome LIKE '%" + Nome[i] + "%' OR [Nome Inglese] LIKE '%" + Nome[i] + "%'"; 
    ....

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    22
    Ora va benisimo, grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.