ciao ragazzi, qualcuno sa dirmi se , nel caso di una ricerca con più parole chiave, io posso dare un peso maggiore ad una keyword piuttosto che ad un'altra?!
La risposta sarebbe urgente...spero qualcuno sia in grado di darmela!
ciao ragazzi, qualcuno sa dirmi se , nel caso di una ricerca con più parole chiave, io posso dare un peso maggiore ad una keyword piuttosto che ad un'altra?!
La risposta sarebbe urgente...spero qualcuno sia in grado di darmela!
cosa intendi con peso maggiore ?
le varie parole chiave come sono , In OR ?
Forza la magica ROMA
ciao albis, non so se ti ricordi l'altro 3d che avevo aperto qualche giorno fa sulla ricerca per parole chiave in un database...comunque ti rispiego tutto...
da flash io invio 6 variabili alla pagina asp(prop1, prop2, prop3...prop6); questa deve effettuare una ricerca nel database secondo queste parole chiave e deve restiturmi come valori i campi che contengono i nomi dei filmati, che hanno nei campi prop1, prop2, prop3...prop6, valori che corrispondono alle variabili inviate...
il databse ha un campo titolo e sei campi prop1, prop2, prop3...prop6.
ovviamente non tutti campi saranno uguali ai valori delle variabili: alcuni record avranno due campi uguali, altri tre, altri nessuno....
io voglio che mi restituisca i valori di titolo che hanno un maggior numero di campi uguai alle variabili...
il fatto è che alcuni possono avere anche lo stesso numero di corrispondenze, quindi vorrei dare una priorità maggiore ad alcune variabili e meno ad altre, magari assegnandoli un nuomero da 1 a 6...
è un po' un casino ,ma spero di essere stata abbastanza chiara...
che db usi ?
posta anche la select
Forza la magica ROMA
uso un database access
il codice asp lo trovi a questo 3D di cui ti parlavo e su cui mi avevi già aiutato
http://forum.html.it/forum/showthrea...5&pagenumber=3
ti devo dire però che qualcosa non funziona in quel codice perchè quando effettua il secondo ciclo mi dà errore e io non riesco a capire il motivo...
non mi puoi postare tu la select che fai su access
tipop "select... from tabella where ...) ?
Forza la magica ROMA
ti posto tutto il codice che così forse ti è più chiaro...
se poi riesci anche a trovare dove sono gli errori...
codice:<% prop1=request("prop1") prop2=request("prop2") prop3=request("prop3") prop4=request("prop4") prop5=request("prop5") prop6=request("prop6") Set Conn = Server.CreateObject("ADODB.Connection") Connessione="DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("data.mdb") Conn.Open Connessione Set rs = Server.CreateObject("ADODB.Recordset") sql = "SELECT cinlink FROM filmati WHERE" ArrSearch = Split(prop1) x=0 for each Word in ArrSearch sql= sql & " (prop1 like '%" & word & "%' & prop2 like '%" & word & "%' &prop3 like '%" & word & "%' &prop4 like '%" & word & "%' &prop5 like '%" & word & "%' &prop6 like '%" & word & "%')" If Not x = UBound (ArrSearch) Then sql=sql & " or" End if rs.Open SQL, Connessione, 3, 3 Do While Not (rs.EOF) prop1=rs("prop1") prop2=rs("prop2") prop3=rs("prop3") prop4=rs("prop4") prop5=rs("prop5") prop6=rs("prop6") x=0 conteggio=0 ArrSearch = Split(prop1) for each Word in ArrSearch prova=prop1 tet="0" for y=1 to len (prova) tet =instr (prova, word) if tet<>0 then conteggio=conteggio+1 prova=mid(prova,tet+1) end if next x=x+1 next rs.movenext loop Response.flush Response.end rs.Close Set rs=Nothing %>
non ho capito tu cerchi la stessa parola sù più campi ?
Forza la magica ROMA
no, io cerco la parola prop1 nel campo prop1, la parola prop2 nel campo prop2 e così via...
dovrebbe essere all'incirca così
codice:sql = "SELECT cinlink FROM filmati WHERE" dim strPrimoOrd dim strSecondoOrd for x = 1 to 6 sql= sql & " prop" & x & " like '%" & request("prop" & i) & "%' " strPrimoOrd = strPrimoOrd & " abs(prop" & x & " like '%" & request("prop" & i) & "%') " strSecondoOrd = strSecondoOrd & " prop" & x & " like '%" & request("prop" & i) & "%' " If x < 6 hen strPrimoOrd = strPrimoOrd & " + " strSecondoOrd = strSecondoOrd & " , " sql=sql & " or " End if next sql = sql & " order by " & strPrimoOrd & " desc , " & strSecondoOrd rs.Open sql, Connessione, 3, 3
Forza la magica ROMA