Qualcuno ha da postarmi il codice per un motore di ricerca semplice che esegua una ricerca in più db cercando in più campi?
Grazie![]()
Qualcuno ha da postarmi il codice per un motore di ricerca semplice che esegua una ricerca in più db cercando in più campi?
Grazie![]()
Hai provato una ricerca sul forum?![]()
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
ma intanto io sto primo pezzo lo metterei:kw=split(testo," ")
for i=o to ubound (kw)
sql="select * from tab1 where articolo descrizione like '%%%" & testo & "%%%"
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 cerchicodice: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
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