Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estava garimpando pra saber sobre sistemas de busca em PHP. No intuito de descobrir como fazer pesquisa por palavras chaves, como por exemplo o google.
Encontrei isto
$sql = "SELECT COUNT(*) AS total FROM noticias WHERE (ativa = 1) AND ((titulo LIKE '%".$busca."%') OR ('%".$busca."%'))";
E queria saber se o que o "%" faz e separar palavra por palavra e procurar individualmente por ela, ou alguma outra coisa.
Enfim, se alguém puder traduzir o que o script quer dizer pra mim eu ficaria agradecido.
Traduzir de um jeito assim "if(isso==aquilo){isso}else{outra coisa};" --> "Se isso idêntico a aquilo, faça isso, se não, faça outra coisa!"
Desde já muito obrigado a todos!
>
isso aí ta rodando? nao vejo muito sentido no \--OR ('%".$busca."%')--\
o like, nesse caso aí, vai pegar o titulo e se no titulo tiver o que contem na variavel busca ele vai retornar true
ex:
titulo = "isto é um teste";
busca = "um";
resposta = true
busca = "m tes"
resposta = true;
busca = "é teste"
resposta = false;
Então ele pega uma quantidade determinada de caracteres? (busca = "m tes")
Ou ele separa palavra por palavra?
Sobre o "OR" que você comentou, eu pesquisei na internet, e gostaria de saber o que quer dizer, não cheguei a testar.
nao eé quantidade, se o que estiver na variavel busca conter dentro do titulo ele da verdadeiro, o simbolo da porcentagem serve para dizer onde isso tem que estar. por exemplo, se voce colocar busca%, significa que a ocorrencia tem que acontecer no inicio do titulo, nao importa o que estiver antes, se você colocar %busca significa que tem que acontecer no final do titulo, nao importa o que tem no comeco, e se voce colocar %busca%, significa que pode acontecer em qualquer lugar, nao importa o comeco ou o final, o que importa eé que aquela sequencia de caracteres esteja dentro do titulo
para mais informacoes
http://dev.mysql.com/doc/refman/4.1/pt/mysql-indexes.ht
OR = ou
true OR true = true;
true OR false = true;
false OR true = true;
false OR false = false;
isso aí ta rodando? nao vejo muito sentido no \--OR ('%".$busca."%')--\
o like, nesse caso aí, vai pegar o titulo e se no titulo tiver o que contem na variavel busca ele vai retornar true
ex:
resposta = true
busca = "m tes"
resposta = true;
busca = "é teste"
resposta = false;