nuno_couto Posted July 8, 2006 at 04:35 PM Report #37090 Posted July 8, 2006 at 04:35 PM Num sistema de pesquisa de artigos, caso seja usado simplesmente o comando "LIKE", caso um escreva por exemplo "metallica", todos os produtos que contenham essa palavra no título vão surgir, mas se utilizar o termo "cd metallica", aí já só encontra os que tiverem especificamente o termlo como ele foi escrito e não as palavras cd + metallica. Alguem tem um código que aconselhe para tornar as pesquisas eficazes? portalmundial.net »» criamos sites
kingless Posted July 8, 2006 at 06:20 PM Report #37106 Posted July 8, 2006 at 06:20 PM Eu já fiz um pesquisador mas é dificil explicar :neutral:
M6 Posted July 8, 2006 at 06:25 PM Report #37107 Posted July 8, 2006 at 06:25 PM Num sistema de pesquisa de artigos, caso seja usado simplesmente o comando "LIKE", caso um escreva por exemplo "metallica", todos os produtos que contenham essa palavra no título vão surgir, mas se utilizar o termo "cd metallica", aí já só encontra os que tiverem especificamente o termlo como ele foi escrito e não as palavras cd + metallica. Alguem tem um código que aconselhe para tornar as pesquisas eficazes? Devias reformular a tua pergunta, o que tu queres é saber explorar bases de dados e não fazer um sistema de pesquisa de artigos. Existem várias fórmas de usar o like e existe outra funcionalidade disponível em vários SGBDs que te pode ajudar: "full text search". Lê este tópico pois isso já aqui foi debatido: http://www.portugal-a-programar.pt/index.php?showtopic=2973 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
nuno_couto Posted July 9, 2006 at 04:04 PM Author Report #37238 Posted July 9, 2006 at 04:04 PM Já estive a ver esse tópico e há algo que pode interessar. Se eu fizer a pesquisa com o comando LIKE %cd%metallica%, basicamente o sistema vai pesquisar todos os tópicos que contenham os termos cd e metallica em simultaneo certo? Assim sendo, se um user pesquisar cd metallica, bastará transformar os espaços em "%" e depois fazer LIKE %$pesquisa% (o que resulta em LIKE %cd%metallica%) Isto é correcto? portalmundial.net »» criamos sites
M6 Posted July 9, 2006 at 04:17 PM Report #37239 Posted July 9, 2006 at 04:17 PM Já estive a ver esse tópico e há algo que pode interessar. Se eu fizer a pesquisa com o comando LIKE %cd%metallica%, basicamente o sistema vai pesquisar todos os tópicos que contenham os termos cd e metallica em simultaneo certo? Sim, mas apenas por essa ordem, ou seja, não apanha metallica e cd, apenas cd e metálica. Assim sendo, se um user pesquisar cd metallica, bastará transformar os espaços em "%" e depois fazer LIKE %$pesquisa% (o que resulta em LIKE %cd%metallica%) Isto é correcto? Sim. Mas tem atenção à ordem das palavras como referi acima. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
nuno_couto Posted July 9, 2006 at 04:49 PM Author Report #37243 Posted July 9, 2006 at 04:49 PM E há algum comando para pesquisar independentemente da ordem? Ou seja, encontrar cd metallica ou metallica cd? portalmundial.net »» criamos sites
kingless Posted July 9, 2006 at 09:45 PM Report #37267 Posted July 9, 2006 at 09:45 PM No pesquisador que eu criei quando a pessoa pesquisava por alguma coisa exemplo: "tutorial de php" eu dividia a pesquisa em varias palavras nesse caso "tutorial" seria a palavra 1 "de" seria a 2 (......) e depois aquilo pesquisava na mysql mais ou menos assim: mysql_query("SELECT * FROM tabela WHERE pesquisa LIKE '%".$palavra[1]."%' OR LIKE '%".$palavra[2]."%' OR LIKE '%".$palavra[3]."%' ...."); Algo mais ou menos assim... Espero que te ajude!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now