nuno_couto Posted July 8, 2006 at 04:35 PM Report Share #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 Link to comment Share on other sites More sharing options...
kingless Posted July 8, 2006 at 06:20 PM Report Share #37106 Posted July 8, 2006 at 06:20 PM Eu já fiz um pesquisador mas é dificil explicar :neutral: Link to comment Share on other sites More sharing options...
M6 Posted July 8, 2006 at 06:25 PM Report Share #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." Link to comment Share on other sites More sharing options...
nuno_couto Posted July 9, 2006 at 04:04 PM Author Report Share #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 Link to comment Share on other sites More sharing options...
M6 Posted July 9, 2006 at 04:17 PM Report Share #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." Link to comment Share on other sites More sharing options...
nuno_couto Posted July 9, 2006 at 04:49 PM Author Report Share #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 Link to comment Share on other sites More sharing options...
kingless Posted July 9, 2006 at 09:45 PM Report Share #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! Link to comment Share on other sites More sharing options...
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