Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    149

    motore di ricerca per database

    Ciao a tutti raga..
    vorrei avere dritte su come realizzare un motore di ricerca che,per cosi dire, fa lo scanning di record del database e poi restituisce i valori di tale record

    esempio access in una tabella ho nome:mario, lavoro:cameriere, città:roma

    io cerco la parola mario e il sistema mi resituisce mario cameriere di roma

    spero di essermi spiegato

    P.S.
    ho visto che sulla sezione download c'era luke search che dalla descrizione mi sembrava molto adatto come punto di inizio solo che il download nn funge...avreste per caso questo script voi?


    grazie in anticipo a tutti coloro che mi risponderanno

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    170
    Ciao.
    E' semplicissimo però devi avere nozioni di ASP e di SQL.
    Praticamente basta fare una query concatenata con degli AND ed il gioco è fatto ti restituisce i valori che vuoi tipo :

    query = "SELECT * FROM anagrafica WHERE nome='MARIO' AND lavoro='cameriere' AND citta='ROMA'"


    la passi ad un recordset e stampi a video.


    CIAO!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    149
    grazie...ma non è che avresti qulcs del genere da passarmi?
    non ho grandi nozioni di asp eper nn parlare di sql...

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    170
    Dai vediamo ti posso aiutare un pochino e molto base....

    Allora devi avere fondamentalmente :

    1) Un database (MSAcCess0 potresti anche usare MySql ma devi cambiare la connessione)
    2) Una Pagina asp

    Allora il database deve avere (ad esempio) una tabella anagrafica con i campi ID-NOME-COGNOME-ETA

    La pagina deve avere all'inizio della pagina proprio all'inizio metti questo codice :

    codice:
    '-------------------------------------------------------------------------------
    <%
    'creo la connessione al database MsAccess
    Set conn = Server.CreateObject("ADODB.Connection") 
    conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/data.mdb")
    
    'memorizzi l'eventuale chiave di ricerca
    chiavericerca = request.form("chiavericerca")
    If chiavericerca <> "" then
       'formuli una query sql che ti cerca con il LIKE i nomi simili cioè se cerchi vale ti da valerio idem se cerchi erio ti da valerio
        query = "SELECT * FROM anagrafica where NOME LIKE '%" & chiavericerca & "%'"
        Set rs = Server.CreateObject("ADODB.Recordset")
        rs.Open query, conn, 3, 3
    end if
    %>
    
    '-----------------------------------------------------------------------------------
    'Adesso vai nel body del documento e metti una form di ricerca ti scrivo anche quella se non dovresti saperne nulla neanche di HTML(oggi ho 10 min da perdere sei fortunato :-))
    
    '-----------------------------FORM DI RICERCA DA METTERE NEL BODY ------------
    <form action="questapagina.asp" method="post" id="form" name="form">
    <table width="100%" border="0" align="center">
          <tr>
                <td width="110" >Ricerca Nome : </td>
                <td width="160" align="center"><label>
                <input name="chiavericerca" type="text" id="chiavericerca" value="<%=request.Form("chiavericerca")%>">
                 </label></td>
                 <td width="105" align="center"><label>
                 <input type="submit" name="Submit" value="      Cerca      ">
                 </label></td>
           </tr>
    </table>
    </form>
    '-------------------------------------------------------------------------------------
    
    'Ok adesso devi mettere il codice di result che esce fuori dal recordset e questo lo fai facendo un ciclo che fino alla fine del record set ti stampa i valori.
    
    <%
    'controlli che non sia ne alla fine e ne all'inizio
    While(not rs.EOF)and(not rs.BOF)
    %>
    'Intestazione tabella
    
    <table width="500" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <th align="center" valign="top" scope="col">
    
          <table width="100%" border="0" cellpadding="1" cellspacing="1">
            <tr bgcolor="#CCCCCC" >
              <td width="174"><div align="center" class="tabella">NOME</div></td>
              <td width="95"><div align="center" class="tabella">COGNOME </div></td>
              <td width="89"><div align="center" class="tabella">ETA'</div></td>
            </tr>
    
    '-----------------INIZIO FLUSSO DI OUTPUT RECORDSET--------------
    <%While (not rs.EOF)%>
            <tr bgcolor="#878D9B">
            <td bgcolor="#F7F7F7"><div align="center" ><%=rs("nome")%></div></td>
            <td bgcolor="#EEEEEE"><div align="center" ><%=rs("cognome")%></div></td>
             <td bgcolor="#EEEEEE"><div align="center" ><%=rs("eta")%></div></td>
            </tr>
    
    <%
    'vai avanti di un record
    rs.MoveNext
    Wend
    rs.close 'chiudi il recordset
    Set rs=Nothing 'liberi la memoria
    %>
        </table>
    '-------------FINE FLUSSO DATI E CHIUSURA TABELLA--------------


    Dovrebbe essere tutto corretto basta eseguire questa pagina su un server IIS e tutto dovrebbe andare perfettamente. Non ho provato ci potrebbe essere qualche errorino di sintassi ma Teoricamente dovrebbe essere perfetto.
    Ciao spero di averti aiutato!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.