bLTR Posted May 10, 2012 at 11:02 AM Report #454254 Posted May 10, 2012 at 11:02 AM Bons Dias! bem é o seguinte, a minha pesquisa está a funcionar desta maneira: Pesquisa: ANA Resultado: ADRIANA MARISA MACHADO MARIANA LUISA LOPES ANA LUISA VIEIRA CAROLINA MELO SOUSA JOANA PINTO SOUSA aparece todos os nomes que tenham ANA mas todos com letras maiusculas; Pesquisa: ana Resultado: Mariana Lobo da Fonseca Carolina Viana Coelho Alves Joana Lage Henriques Joana Marques Freitas Albuquerque de Carvalho Mariana Borges de Pinho S. Pereira aparece todos os nomes que tenham ana mas todos em letras minusculas; O que é eu queria saber era como é que ao pesquisar "ana" apareça tanto em letras maiusculas como minusculas Ouvi dizer que era preciso alguma coisa do genero tipo keySensivity, é verdade? Aguardo Resposta, Cumprimentos
HappyHippyHippo Posted May 10, 2012 at 11:10 AM Report #454259 Posted May 10, 2012 at 11:10 AM é por defeito que a comparação seja "case-insensitive" http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html deves estar a usar o operador '=' em vez do 'LIKE' IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
bLTR Posted May 10, 2012 at 11:14 AM Author Report #454262 Posted May 10, 2012 at 11:14 AM vou meter aqui o código: <table width="100%" class="box" border=0> <tr> <th> <table width="100%" border=0 cellspacing=0 cellpadding=0> <tr> <th width="1%" style="padding: 2px"><img src="images/pan.png" border=0 alt=""></th> <th>Pesquisa de alunos</th> </tr> </table> </th> </tr> <?php if ($_SESSION['userId']>0) $conn=@pg_connect($_SESSION['connString']); else $conn=pg_connect($_SESSION['publicConnString']); if ($conn) { if (isset($_POST['id']) and (strcmp($_POST['id'],'0')==0)) // Apresentar os campos de pesquisa { ?> <tr> <td> <form name=frmPesquisa> Nº do processo: <input type=text name=numero value="" size=20 maxlength=9 onBlur="javascript:validateInt(this, 0, 99999999)"> <input type=button value=Pesquisar onClick="javascript:searchStudent('1-'+document.frmPesquisa.numero.value)"><p> Nome do Aluno:<font size=-2 color=red>*</font> <input type=text name=nome value="" size=50 onBlur="javascript:validateString(this)"> <input type=button value=Pesquisar onClick="javascript:searchStudent('2-'+document.frmPesquisa.nome.value)"><br><p> <font size=-2 color=red>*Deve-se ter em conta o uso de acentuação e de letras maiúsculas/minúsculas na pesquisa.</font> </form> </td> </tr> <?php } else //Apresentar os resultados { ?> <tr><td> <?php pg_query("set SEARCH_PATH to ".$_SESSION['dbSchema']); $ID=$_POST['id']; if (strcmp(substr($ID,0,2),'1-')==0) //Pesquisa por número { $pesquisa=substr($ID,2,strlen($ID)-2); if (is_int((int)$pesquisa) and strlen($pesquisa)>0) $rsAlunos=pg_query("select id, nome from alunos where num_processo='".$pesquisa."'"); else { ?> O valor introduzido não é válido!<p> <a href="javascript:searchStudent(0)">Voltar</a> </td></tr> </table> <?php exit; } } else //Pesquisa por nome { $pesquisa=substr($ID,2,strlen($ID)-2); if (strlen($pesquisa)>0) $rsAlunos=pg_query("select id, nome from alunos where nome LIKE '%".$pesquisa."%'"); else { ?> O nome introduzido não é válido!<p> <a href="javascript:searchStudent(0)">Voltar</a> </td></tr> </table> <?php exit; } } if (pg_num_rows($rsAlunos)==0) //Não há resultados { ?> Não foram encontrados alunos para a pesquisa efectuada!<p> <a href="javascript:searchStudent(0)">Voltar</a> </td></tr> <?php } else //Imprime a listagems dos resultados { echo "<ul>"; while ($rs=pg_fetch_array($rsAlunos)) { echo "<li><a href=\"javascript:setId(".$rs['id'].", 240)\">"; echo $rs['nome']; echo "</a></li>"; } ?> </ul> <a href="javascript:searchStudent(0)">Voltar</a> </td></tr> <?php } } } else { ?> <tr> <td><b>ERRO</b>: Não foi possível estabelecer a ligação à BD!</td> </tr> <?php } ?> </table> Como podes ver, estou a utilizar o " LIKE " e não o " = "
HappyHippyHippo Posted May 10, 2012 at 11:17 AM Report #454264 Posted May 10, 2012 at 11:17 AM qual é o caracter set da tua base de dados e da tabela em questão ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
bLTR Posted May 10, 2012 at 11:19 AM Author Report #454267 Posted May 10, 2012 at 11:19 AM como assim?
HappyHippyHippo Posted May 10, 2012 at 11:26 AM Report #454271 Posted May 10, 2012 at 11:26 AM lê o link que fiz post ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
bLTR Posted May 10, 2012 at 11:47 AM Author Report #454280 Posted May 10, 2012 at 11:47 AM estive a ler, e continuei sem perceber LOL
dash Posted May 10, 2012 at 12:24 PM Report #454293 Posted May 10, 2012 at 12:24 PM estive a ler, e continuei sem perceber LOL -> http://www.w3resource.com/mysql/Mysql-pics/create-table-phpmyadmin.gif Estás a ver a coluna/linhas onde está 'latin1_swedish_ci'? Agora diz-nos como tens na tua db/tabela.
bLTR Posted May 10, 2012 at 01:03 PM Author Report #454297 Posted May 10, 2012 at 01:03 PM não estou a usar mysql, estou a usar o pgAdmin III
dash Posted May 10, 2012 at 01:19 PM Report #454302 Posted May 10, 2012 at 01:19 PM Nesse caso deve ser 'encoding'. Não uso PostgreSQL, por isso não tenho a certeza.
bLTR Posted May 10, 2012 at 01:35 PM Author Report #454308 Posted May 10, 2012 at 01:35 PM Tá feito LOL, bastava usar o comando " ILIKE " em vez do " LIKE " pelos vistos o comando " ILIKE " é case-insensitive xD
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now