alanrg.83 0 Denunciar post Postado Março 31, 2008 nossa gente to precisando de um sisteminha de busca mais ta dificil em!! Seguinte tenho doi cadastros por exemplo Alan Rogério; Univercidade Estadual do Maringá UEM Do geito que fiz meu select LIKE, se eu procuro por "Alan" ou "Universidade" ele acha os dois registros, mas se procuro por alan, Rogério ele não acha o primeiro registro. E se procurar por Estadual, UEM, uem, univercidade ele nao achao segundo. Resumindo se nao escrever o primeiro nome do registro e do geitinho que esta ele não achanada!!! Como concerto isso!! Meu select: SELECT * FROM prof WHERE nomeprof LIKE '%$_SESSION[busca]%', LIMIT $inicio, $limite, order by nomeprof Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Abril 1, 2008 Dê uma olhada aqui, deve te ajudar: http://dev.mysql.com/doc/refman/4.1/pt/case-sensitivity.html Obs: Movido: PHP=>MySQL Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Caesar 0 Denunciar post Postado Abril 2, 2008 meu deus cara, você tá na faculdade mesmo, escrevendo desse jeito? O_O desculpa mas não teve como não reparar no semi-analfabetismo veja se o collation da sua tabela termina em "ci", tipo latin1_general_ci. Ci significa "case insensitive", e não "cs", case-sensitive, dessa maneira "alan" e "ALAN" serão a mesma coisa. Outra coisa, é escolher um encoding tipo o utf-8 que facilita a busca de palavras acentuadas SELECT * FROM prof WHERE nomeprof LIKE '%{$_SESSION[busca]}%' LIMIT $inicio,$limite ORDER BY nomeprof Se tudo estiver correto, apenas entrando com "al", achará o campo 'alan' e 'uni' achará o campo da 'universidade' Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Abril 2, 2008 'LIMIT' tem que ser após o ORDER BY. Compartilhar este post Link para o post Compartilhar em outros sites
LHAlmeida 0 Denunciar post Postado Abril 4, 2008 nossa gente to precisando de um sisteminha de busca mais ta dificil em!! Seguinte tenho doi cadastros por exemplo Alan Rogério; Univercidade Estadual do Maringá UEM Do geito que fiz meu select LIKE, se eu procuro por "Alan" ou "Universidade" ele acha os dois registros, mas se procuro por alan, Rogério ele não acha o primeiro registro. E se procurar por Estadual, UEM, uem, univercidade ele nao achao segundo. Resumindo se nao escrever o primeiro nome do registro e do geitinho que esta ele não achanada!!! Como concerto isso!! Meu select: SELECT * FROM prof WHERE nomeprof LIKE '%$_SESSION[busca]%', LIMIT $inicio, $limite, order by nomeprof você pode estar usando um colate que seja case sensitive... de uma olhada no colate do seu campo nome para evitar isso use os colates case_insensitive (_ci) ou antes de passar a consulta passe o campo e o valor com upper(), aih ele joga tudo pra caixa alta e indifire se é sensitive ou nao o seu colate SELECT * FROM prof WHERE upper(nomeprof) LIKE upper('%$_SESSION[busca]%'), LIMIT $inicio, $limite, order by nomeprof lembre-se que busca com %texto não favorece os índices da tabela (se é que tenha criado um indice rs) abraço Compartilhar este post Link para o post Compartilhar em outros sites