Olá pessoal estou com o seguinte problema todas as busca com menos de tres letras não aparecm ordenado em primeiro lugar...ex: quando busco "JB Autos eletrica" o busca retorna na quinta pagina etc....os outros resultados que tem a palavra autos eletric aaparecem antes,
<?php
include( 'adm/config.php');
include( 'adm/lampiao.php');
include( 'adm/class/class.enquete.php');
include( 'adm/class/class.enquetee.php');
include( 'adm/class/class.banners.php');
include_once( "adm/funcoes.php");
$lampiao = new Lampiao();
$in = mysql_query("SELECT * FROM canais where id = '$idd' and lixo='n' and disp='s'") or die("Erro SQL: ".mysql_error());
<td height="22"><span class="style4">A busca por <strong><?=$campobusca2;?></strong> resultou <?
$numero=strlen($campobusca2);
if($campobusca2 == "disk gas" or $campobusca2 == "disk gás") {
$bi = ",gas,";
$sqlrop = mysql_query("SELECT * from cad WHERE palavras REGEXP '$bi'");
}
elseif($numero > 3) {
//SE há UMA FRASE SE UTILIZA O ALGORTIMO DE BUSCA AVANCADO DE MATCH AGAINST
//busca de frases com mais de uma palavra e um algoritmo especializado
$sqlrop = mysql_query("SELECT * , MATCH ( nome, categoria1, palavras ) AGAINST ( '$campobusca' IN BOOLEAN MODE) AS Score FROM cad WHERE MATCH ( nome, categoria1, palavras ) AGAINST ( '$campobusca' IN BOOLEAN MODE) ORDER BY nivel DESC, Score DESC");
} elseif($numero < 4) {
$sqlrop = mysql_query("SELECT * from cad WHERE palavras REGEXP '$campobusca3'");
if($campobusca2 == "disk gas" or $campobusca2 == "disk gás") {
$bi = ",gas,";
$sqlrop = mysql_query("SELECT * from cad WHERE palavras REGEXP '$bi' order by nivel desc");
}
elseif($numero > 3) {
//SE há UMA FRASE SE UTILIZA O ALGORTIMO DE BUSCA AVANCADO DE MATCH AGAINST
//busca de frases com mais de uma palavra e um algoritmo especializado
$sqlrop = mysql_query("SELECT * , MATCH ( nome, categoria1, palavras ) AGAINST ( '$campobusca' IN BOOLEAN MODE) AS Score FROM cad WHERE MATCH ( nome, categoria1, palavras ) AGAINST ( '$campobusca' IN BOOLEAN MODE) and (tipo!='Pessoa Física') ORDER BY nivel DESC, Score DESC");
}
elseif($numero < 4) {
$sqlrop = mysql_query("SELECT * from cad WHERE palavras REGEXP '$campobusca3' order by nivel desc");
$total = mysql_num_rows($sqlrop); // Esta função irá retornar o total de linhas na tabela
$paginas = ceil($total / $lpp); // Retorna o total de páginas
if(!isset($pagina)) { $pagina = 1; }
else { $paginaa = $pagina - 1; }// Especifica uma valor para variavel pagina caso a mesma não esteja setada
$inicio = $paginaa * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL
//CONTA O NUMERO DE PALAVRAS
$numero=strlen($campobusca2);
if($campobusca2 == "disk gas" or $campobusca2 == "disk gás") {
$bi = ",gas,";
$sqlrop = mysql_query("SELECT * from cad WHERE palavras REGEXP '$bi' order by nivel desc LIMIT $inicio, $lpp");
}
elseif($numero > 3) {
//SE há UMA FRASE SE UTILIZA O ALGORTIMO DE BUSCA AVANCADO DE MATCH AGAINST
//busca de frases com mais de uma palavra e um algoritmo especializado
$sqlrop = mysql_query("SELECT * , MATCH ( nome, categoria1, palavras ) AGAINST ( '$campobusca' IN BOOLEAN MODE) AS Score FROM cad WHERE MATCH ( nome, categoria1, palavras ) AGAINST ( '$campobusca' IN BOOLEAN MODE) and (tipo!='Pessoa Física') ORDER BY Nivel desc, Score DESC LIMIT $inicio, $lpp");
}
elseif($numero < 4) {
$sqlrop = mysql_query("SELECT * from cad WHERE palavras REGEXP '$campobusca3' order by nivel desc LIMIT $inicio, $lpp");
}
$i=0;
while ($resultado =mysql_fetch_object($sqlrop))
{
$_score = $resultado->Score;
$_tipo = $resultado->tipo;
$_id = $resultado->id;
$_desc1 = $resultado->desc1;
$_site = $resultado->site;
$_nivel = $resultado->nivel;
$_telefone = $resultado->telefone;
$_bairro = $resultado->bairro;
if ($_bairro != "") { $_bairrro = "/"." $_bairro"; }
$_endereco = $resultado->endereco;
$_nivel = $resultado->nivel;
if($_nivel == "Nível 04" or $_nivel == "Nível 05") {
Pergunta
gajowebmaster
Olá pessoal estou com o seguinte problema todas as busca com menos de tres letras não aparecm ordenado em primeiro lugar...ex: quando busco "JB Autos eletrica" o busca retorna na quinta pagina etc....os outros resultados que tem a palavra autos eletric aaparecem antes,
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.