Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

« Léo »

Problema com busca interna

Recommended Posts

Fala galera! beleza?

Espero que sim! :D

 

Seguinte, to fzendo um sistema de busca de clientes cadastrados (minha primeira aventura com Banco de Dados! rs). Soh q ta rolando uma zebra! Qd coloco a primeira letra de um nome já cadastrado num acha nd!

Ex.:

 

Tenho cadastrado o cliente "Leonardo Cabral" (sendo nome e sobrenome variaveis diferentes);

Se eu buscar por "e","eo","eon","eona","eonar","eonard","eonardo" ou ainda "a","ab","abr","abra","abral", por exemplo, ele acha! Porém se eu colocar L na frente de qqr exemplo do primeiro grupo ou C na frente de qqr exemplo do segundo grupo ele não echa resultado algum.

 

Meu código é esse ae:

(o que tiver errado ou puder ser melhor, pf avisem. Como disse é minha primeira aventura com BD e tmb num sou mt experiente com PHP)

$plchave = strtolower($_POST["plchave"]);		include "../includes/conexao.php";		if(conexao) {		$consulta = "SELECT * FROM sunset_clientes";		$buscBd = mysql_query($consulta,$conec);		$linhas = mysql_num_rows($buscBd);		if(($buscBd) and ($linhas)) {						$nEncontrado = 1;						for ($i=0;$i<=$linhas;$i++) {				$BD_nome = $dados["BD_nome"];				$BD_sobrenome = $dados["BD_sobrenome"];				$vlNome = strpos($BD_nome,$plchave);				$vlSobrenome = strpos($BD_sobrenome,$plchave);								if(($vlNome) or ($vlSobrenome)) {					$nEncontrado = 0;					$clEncontrado = $dados["BD_nome"]." ".$dados["BD_sobrenome"];					$UPclEncontrado = ucwords($clEncontrado);					echo "<strong>Nome: </strong>".$UPclEncontrado."<br />";									}else if(($i == $linhas) and ($nEncontrado)) {					echo "Nenhum cliente com este nome foi encontrado.";									}								$dados = mysql_fetch_array($buscBd);			}		}else {			echo "Nenhum cliente com este nome foi encontrado.";		}	}else {		echo "Erro ao acessar o Banco de Dados!";	}

Flw galera!!!

Agradeço desde já! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Abraços! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa um like na busca e manda ordenar por nome que fica mais facil.da um like no campo "nome" e no campo "sobrenome"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido: PHP=>Mysqla query fica assim:

"SELECT * FROM sunset_clientes where nome LIKE '%$plchave%' OR sobrenome LIKE '%$plchave%';"

O % é um coringa, e representa qualquer conjunto de caracteres.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opaa!! vlw msm galera!!Soh pra fixar: Entao o % diz pra comparar a $plchave com qqr parte do nome ou sobrenome cadastrado! correto?E o LIKE? Qual a função exata dele??Vlw! Abraços!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O like serve para você comparar strings

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.