daya 0 Denunciar post Postado Agosto 14, 2008 Bom dia pessoal! será que alguém poderia me ajudar? estou fazendo alguns relatórios e preciso que a consulta retorna os resultados independente se for digitado letras em maiusculo ou minusculo. Ex.: consultar: a retorna: a e A Desde já obrigada. Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo Sabdini 0 Denunciar post Postado Agosto 14, 2008 como esta sua consulta ate o momento? Compartilhar este post Link para o post Compartilhar em outros sites
Smr 0 Denunciar post Postado Agosto 14, 2008 Você vai ter que usar o comando SQL -> LIKE +/- assim: $teste = 'a'; $query = mysql_query("SELECT * FROM user WHERE nome LIKE '%" . $teste . "%'"); Compartilhar este post Link para o post Compartilhar em outros sites
daya 0 Denunciar post Postado Agosto 14, 2008 bom isso eu já fiz, mas caso no banco eu tenho dados que comecem com letra maiuscula e eu fizer uma consulta com letras minusculas ele não me retorna nada. Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo Sabdini 0 Denunciar post Postado Agosto 14, 2008 Tenho quase certeza de q o like nao direfe MAIUSCULO de minusculo. Outra coisa.. se quiser que começe com a letra especifica, utilize o LIKE assim: nome LIKE '".$teste."%' Compartilhar este post Link para o post Compartilhar em outros sites
daya 0 Denunciar post Postado Agosto 14, 2008 é eu também achava que não, mas minhas consultas não aparecem se não estiverem digitadas igualmente com os dados do banco. Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo Sabdini 0 Denunciar post Postado Agosto 14, 2008 tente isso.. use UPPER() na consulta.. e o no parametro use strtoupper() tipo assim: UPPER(nome) LIKE UPPER('%".$teste."%') Compartilhar este post Link para o post Compartilhar em outros sites
Smr 0 Denunciar post Postado Agosto 14, 2008 Hmmm é mesmo o like é case sensitive. vou dar uma pesquisada pra ver se acho a solução... Compartilhar este post Link para o post Compartilhar em outros sites
Smr 0 Denunciar post Postado Agosto 14, 2008 Eu achei essa aqui não testei direito, mais parece que funciona... $sql = "SELECT * FROM user WHERE lower(nome) LIKE lower('%$teste%')"; Compartilhar este post Link para o post Compartilhar em outros sites
Norivan Oliveira 0 Denunciar post Postado Agosto 14, 2008 Seria mais facil que ao dar o insert antes você passe a string toda para minuscula usando o strtolower() Dai quando você pesquisar você faz a mesma coisa. Uma vez o dba daqui me falou que existe uma opção que faz o banco ignorar case sensitive, mas ai já é configuração de banco, creio que isto você não conseguira com código Compartilhar este post Link para o post Compartilhar em outros sites
Juliano Meinen 0 Denunciar post Postado Agosto 14, 2008 Bom, provalmente isso é configuração do BD, pq tem q voltar os resultados, sejam MAISCULOS ou minusculos. Veririque a configuração do BD! Ou, pra "quebrar-um-galho" (não recomendado) você pode usar uma função pra fazer duas condições de pesquisa, como por exemplo: $condicao1 = 'a'; $condicao2 = strtoupper($condicao1); $sql = SELECT * FROM users WHERE Nome LIKE '%$condicao1%' OR Nome LIKE '%$condicao2%' Compartilhar este post Link para o post Compartilhar em outros sites
daya 0 Denunciar post Postado Agosto 14, 2008 obrigada pessoal já consegui resolver o problema usando o LOWER, já havia tentado ele antes mas deixava um espaço em branco entre ele e a variavel e o mysql não estava reconhecendo. Compartilhar este post Link para o post Compartilhar em outros sites