Ir para conteúdo

POWERED BY:

Arquivado

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

franksniper

[Resolvido] Sistema de busca

Recommended Posts

Fala ae galera, beleza?

 

Seguinte fiz um sistema de busca, mas to tendo problema com as palavras buscadas.

Por exemplo no banco está Bola, se eu buscar como bola ele não encontra, ele está fazendo diferenciação de minuscula pra maiuscula!

 

Qual a melhor forma para eu solucionar isso?

 

agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sguinte cara, assim não dá, vo te da um exemplo, um formulário de cadastro, tem assim:

Digite sua Cidade:

Um usuário pode digitar pOrto Alegre, outro PORTO alEgre, etc...

O PHP tem um comando chamado str_replace(letra, substituir com, $string);

vo te passa uma função que realiza a conversão de maiusculas p minusculas que eu fiz (malz do colocar ao contrario mas você se ajeita ai né)!

 

   function converter($string) {

    $string = strtoupper ($string);

    $string = str_replace ("á", "Á", $string);
    $string = str_replace ("é", "É", $string);
    $string = str_replace ("í", "Í", $string);
    $string = str_replace ("ó", "Ó", $string);
    $string = str_replace ("ú", "Ú", $string);
    $string = str_replace ("â", "Â", $string);
    $string = str_replace ("ê", "Ê", $string);
    $string = str_replace ("ô", "Ô", $string);
    $string = str_replace ("Î", "I", $string);
    $string = str_replace ("Û", "U", $string);
    $string = str_replace ("ã", "Ã", $string);
    $string = str_replace ("õ", "Õ", $string);
    $string = str_replace ("ç", "Ç", $string);
    $string = str_replace ("à", "A", $string);

  return $string;
  }

?>

 

Assim faça da string o $_POST["busca"], ou o seu post ou get.

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso pode ser solucionado simplesmente usando um collation adequado. Por exemplo, em MySQL, pode haver:

 

latin1_general_ci

ou

latin1_general_cs

 

ci = case insensitive

cs = case sensitive

 

Usando ci, não há esses problemas.

 

Sugiro usar sempre codificação UTF-8. Ela é, por padrão, case-insensitive no MySQL (não sei no outros SGBD's)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po beraldo, deu certo isso ae!

eu tinha posto o collation como Utf-8

 

vlw ae galera!

abaços

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.