ragazzi,
in uno dei miei siti uso questo codice per selezionare i risultati delle ricerche
eseguo una query in sql su db mysql così
supponendo che io inserisca nella textbox della ricerca la parola "funghi formaggio"codice:ingrediente=request("ingrediente") QueryString = replace(ingrediente,"'"," ") QueryWords = Split( QueryString ) strIndent = " " sql = "SELECT * FROM ricette WHERE" sql=sql &" ingredienti LIKE '%" & QueryWords( 0 ) & "%'" ' Prima For i = LBound( QueryWords ) + 1 to UBound( QueryWords ) If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then If uCase( QueryWords( i-1 ) ) = "OR" Then sql = sql & " OR ingredienti LIKE '%" & QueryWords( i ) & "%'" Else sql = sql & " AND ingredienti LIKE '%" & QueryWords( i ) & "%'" End If End If Next sql = sql &" LIMIT " & (currentPage - 1) * pageSize & ", " & pageSize
la query stampata diviene quindi
dove x e x non ci interessano almeno in questa sedecodice:sql = "SELECT * FROM ricette WHERE ingredienti like '%funghi%' and ingredienti like '%formaggio%' LIMIT x,x"
ora io posso ordinare i risultati in base alla congruenza quindi ipotizzo di visualizzare prima i record che contengono nel campo ingredienti ripetute più volte le keys cercate.. o meglio ancora (ma forse è troppo) le keys che compongono la maggiorparte del campo ingredienti in misura percentuale.
Grazie a chi vorrà aiutarmi
Rik

Rispondi quotando

