Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Quando você está a procura de um produto nessas listas telefônicas on-line
elas agem da seguinte forma:
Se você digitar no campo nome da empresa: (world) o normal seria a busca aparecer: world informática, world equipamentos, world tintas.
Oque deixaria a pesquisa meia que falha. Para resolver isso ao digitar (world), o
sistema abre "antes" as categorias que contenha world. Ex:
Informática - Equipamentos para carros - Loja de Tintas, sendo assim você
irá diretamente à categoria que estava procurando.
Bom, após essa redação aí vai um estudo que estou desenvolvendo com asp:
Primeiramente fiz o código "manual" o mesmo funcionou:
ASP
[]strSQLdat = "SELECT FROM empresas WHERE (empresa LIKE '%" &
[*]strBuscainteligente(Replace(strQuery, "'", "''")) & "%')"
[*] Set objRS = Server.CreateObject("ADODB.Recordset")
[*] objRS.Open strSQLdat, objConexao
[*]
[*] idcategoria= 22
[*] idcategoria2= 23
[*] idcategoria3= 24
[] strSQL = "SELECT FROM categorias Where idcategoria="&idcategoria&" or
[*]idcategoria="&idcategoria2&" or idcategoria="&idcategoria3&""
[*] strSQL = strSQL & " order by idcategoria ASC"
Tem como eu fazer o código acima de forma automática, ou seja, dinâmica, tentei usar o for, mas acho que to viajando! vejam um exemplo que dá erro:
ASP
[]strSQLdat = "SELECT FROM empresa WHERE (empresa LIKE '%" &
[*]busca_inteligente(Replace(strQuery, "'", "''")) & "%')"
[*] Set objRS = Server.CreateObject("ADODB.Recordset")
[*] objRS.Open strSQLdat, objConexao
[*]
[] strSQL = "SELECT FROM categorias Where"
[*]
[*] x=24
[*] for i=22 to x
[*] strSQL = StrSQL & " idcategoria = "&i&""
[*] Next
[*]
[*] strSQL = strSQL & " order by idcategoria ASC"
[*]Set objRSO = Server.CreateObject("ADODB.Recordset")
o erro que dá é:
Erro de sintaxe (operador faltando) na expressão de consulta 'idcategoria =
22 idcategoria = 23 idcategoria = 24'.
Lembrando que esse x=24 e i que vai de 22 a 24 é o idcategoria da busca da
tabela empresa. E que no caso teria que ser dinâmico tmb.
Se alguém souber a forma de fazer isso me avisa, ou talvez não tenha uma
solução, mas se alguém souber fico grato em compartilhar mais esse
conhecimento.
Carregando comentários...