Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Motore ricerca

  1. #1
    Utente di HTML.it L'avatar di flash20
    Registrato dal
    Dec 2003
    Messaggi
    567

    Motore ricerca

    Qualcuno ha da postarmi il codice per un motore di ricerca semplice che esegua una ricerca in più db cercando in più campi?

    Grazie

  2. #2

  3. #3
    Utente di HTML.it L'avatar di flash20
    Registrato dal
    Dec 2003
    Messaggi
    567
    Io ho provato a fare un motore ed ho utilizzato questo codice:

    <%
    response.expires=0
    dim testo
    dim sql
    dim ris
    dim kw

    set conn=server.createobject("ADODB.connection")
    conn.provider="Microsoft.jet.OLEDB.4.0"
    conn.open ("c:/inetpub/wwwroot/db.mdb")
    set tabella=server.createobject ("ADODB.recordset")
    tabella.activeconnection=conn
    tabella.source="tab1"
    tabella.open()
    set tabella2=server.createobject ("ADODB.recordset")
    tabella2.activeconnection=conn
    tabella2.source="tab2"
    tabella2.open()

    testo=request.form("keywords")
    if testo="" then response.Redirect("scooter.asp")
    kw=split(testo," ")
    for i=o to ubound (kw)
    sql="select * from tab1 where articolo descrizione like '%%%" & testo & "%%%"
    dim res
    set res=conn.execute(sql)

    if not res.eof then
    do while not res.eof
    response.Write res("articolo")
    res.movenext
    loop
    else
    response.Write("nessun risultato")
    end if

    next
    %>

    Però la ricerca viene effettuata solo su la tab1 e solo nel campo descrizione, io vorrei farla sia su tab1 che su tab2 e in più campi (descrizione, articolo, marca)

    come si fa????



    Grazie

  4. #4
    Utente di HTML.it L'avatar di flash20
    Registrato dal
    Dec 2003
    Messaggi
    567

  5. #5
    kw=split(testo," ")
    for i=o to ubound (kw)
    sql="select * from tab1 where articolo descrizione like '%%%" & testo & "%%%"
    ma intanto io sto primo pezzo lo metterei:

    codice:
    for j=1 to 3 
    kw=split(testo," ") 
    stringa="select * from tab" & j & " where"  
    for i=o to ubound (kw)
    if i>0 then
    stringa=stringa & " or descrizione like '%%%" & kw(i) & "%%%'"
    else
    stringa=stringa & " descrizione like '%%%" & kw(i) & "%%%'"
    end if
    next
    
    set rs=server.createobject("adodb.recordset")
    rs.open stringa, connessione,3,3
    
    if rs.eof then
    response.write("non ci sono record")
    else
    response.write("record trovato in tabella " & j)
    end if
    set rs=nothing
    next
    in pratica ti fa un controllo sulla tabella 1 poi la 2 e poi la 3 e ogni volta ti restituisce se c'è o meno quello che cerchi

    però fa schifo così........pensaci meglio che è complesso un motore di ricerca.

    ad esempio usa qualche join per unire le tabelle e controlalrel tutte assieme

    bye

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.