Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal tudo bem?
Galera é o seguinte, tenho uma tabela chamada SITE e nessa tabela eu tenho as seguintes colunas:
site_id = campo onde armazeno o id do site
site_url = campo onde armazeno a url do site
site_title = campo onde armazeno o conteudo das tags TITLE do site
site_desc = campo onde armazeno o conteudo das Tags DESCRIPTION do site
site_keywords = campo onde armazeno o conteudo das Tags KEYWORDS do site
h1 = campo onde armazeno o conteudo das Tags H1 do site
h2 = campo onde armazeno o conteudo das Tags H2 do site
h3 = campo onde armazeno o conteudo das Tags H3 do site
h4 = campo onde armazeno o conteudo das Tags H4 do site
h5 = campo onde armazeno o conteudo das Tags H5 do site
p = campo onde armazeno o conteudo das Tags P do site
preciso fazer uma consulta por relevancia pois estou fazendo um mini buscador (parecido com o google)
então queria consulta a palavra que foi digitada no campo de pesquisa e varrer no banco de dados e na hora de exibir ele me trazer a linha que apareceu mais vezes as palavras que foi buscada....
tentei com o seguinte codigo mas não funciono, ele traz a consulta mas não por relevancia
if ($buscar<>" "){
//CONTA O NUMERO DE PALAVRAS
$pedacos = explode(" ",$buscar);
$numero = count($pedacos);
if ($numero==1) {
//SE SO HA UMA PALAVRA DE BUSCA SE ESTABELECE UMA INSTRUCAO COM LIKE
$sql = mysql_query("SELECT * FROM site WHERE site_url LIKE ('%$buscar%') OR site_title LIKE ('%$buscar%') OR site_desc LIKE ('%$buscar%') OR site_keywords LIKE ('%$buscar%')
OR h1 LIKE ('%$buscar%') OR h2 LIKE ('%$buscar%') OR h3 LIKE ('%$buscar%') OR h4 LIKE ('%$buscar%') OR h5 LIKE ('%$buscar%') OR p LIKE ('%$buscar%')");
} elseif ($numero>1) {
//SE HA UMA FRASE SE UTILIZA O ALGORTIMO DE BUSCA AVANCADO DE MATCH AGAINST
//busca de frases com mais de uma palavra e um algoritmo especializado
$sql = mysql_query("SELECT *, MATCH (site_url, site_title, site_desc, site_keywords, h1,h2,h3,h4,h5,p) AGAINST ('$buscar' in boolean mode) AS rank FROM site WHERE MATCH (site_url, site_title, site_desc, site_keywords, h1,h2,h3,h4,h5,p) AGAINST ('$buscar' in boolean mode) ORDER BY rank");
}
}Carregando comentários...