Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho uma busca que só retorna se contém toda busca:
mysql_select_db($database_redatores, $redatores);
$query_notificar_novos = "SELECT * FROM Notificacoes_de_artigo WHERE termos LIKE '%q%'";
$notificar_novos = mysql_query($query_notificar_novos, $redatores) or die(mysql_error());
$row_notificar_novos = mysql_fetch_assoc($notificar_novos);
$totalRows_notificar_novos = mysql_num_rows($notificar_novos);
Mas quero que retorne os registros que contém qualquer palavra da string "q"
Exemplo, se a busca foi "receita de bolo de chocolate"
Retornar registro que onde termos contém alguma palavra dessa busca como por exemplo: "como fazer bolo para festas" ser retornado por causa da palavra bolo.Basta usar full-text na consulta.
https://dev.mysql.com/doc/refman/5.7/en/fulltext-natural-language.html
primeiro mysql_query está obsoleto, e você pode dividir as palavras pra uma busca mais "ampla"
use explode e implode.
com explode você divide as palavras e com implode você une a string que irá fazer a pergunta ao banco.
http://php.net/manual/pt_BR/function.explode.php
http://php.net/manual/pt_BR/function.implode.php