Ir para conteúdo

POWERED BY:

Arquivado

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

VOM

[ERRO] Busca MYSQL por primeira letra com LIKE %

Recommended Posts

Galera estou criando um refino de buscas. A função servirá para refinar os usuários que começam com determinadas letras em seu nome.

Por exemplo:

 

ABC DEF FGH

 

se o usuário clicar no link ABC ele mostraria todos usuários que começam com a letra A e B e C (Arthur, Bruno, Carlos), para este exemplo.

Do mesmo modo se o usuário clicar no link DEF, mosraria os user Diego, Euvira, Fabio.

 

Pois bem, estava tentando utilizar a função:

$sql = mysql_query("SELECT * FROM pessoa where nome_pessoa like 'a%' or 'b%'  or 'c%'   ORDER BY nome_pessoa ASC");

No entanto parece-me que ela não aceita o OR ou o AND.

 

A solução então seria buscar letra por letra, no entanto, para meu caso acho que ficaria ruim.

 

Alguém sabe como poderia resolver este problema?

 

Alguma outra sugestão. Obrigado.

 

Abs

 

VOM

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solução:

 

$sql = mysql_query("SELECT * FROM pessoa where nome_pessoa like = '%a%' or nome_pessoa like = '%b%' or nome_pessoa like = '%c%' ORDER BY nome_pessoa ASC");

Por Luiz Henrique.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa não é a solução exata para o seu problema.

Você precisa retirar o sinal de percentual do início de cada Like. Caso contrário, serão retornados todos os registros que contenham, em qualquer posição, a letra especificada.

 

Deve ser assim:

 

... Like 'a%'...

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.