edu_php 0 Denunciar post Postado Maio 14, 2008 Olá pessoal! Estou com uma dificuldade, sou iniciante em PHP. Gostaria de que sempre que o usuario pesquisasse no banco de dados, o resultado da pesquisa fosse marcado em negrito e vermelho. Ou seja, a pessoa digitou a letra "a" no campo de pesquisar "pesquisa" para buscar todos os nomes de pessoas que iniciam por "a" o resultado fosse assim: Arnaldo Adriano Amanda Anderson Amarildo Alessandro A seguir postarei o código do script que fiz para tentar fazer isso, mas tá errado. http://forum.imasters.com.br/public/style_emoticons/default/cry.gif Me ajudem por favor. <title>Marcar Pesquisa PHP</title> <form method="get"action="<?php $_SERVER['PHP_SELF']?>"> <input type="text" name="pesquisa"> <input type="submit"> </form> <?php $conec = mysql_connect("localhost", "root", ""); $db = mysql_select_db("adm"); $sql = "select * from aluno where nome like '$texto1%' "; $query = mysql_query($sql, $conec); $pesquisa = "<font color = 'red'>".$_GET['pesquisa]."</font>"; echo "Você pesquisou por: ".$pesquisa."<br>"; echo "Resultado da sua pesquisa: <br><br>"; while ($linha = mysql_fetch_array($query)){ $nome = $linha['nome']; $n_nome_ver = substr($pesquisa, $nome); $n_nome_nom = substr($nome, $pesquisa); echo $n_nome_ver.$n_nome_nom; echo "<br>"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Maio 14, 2008 Seja Bem Vindo Edu, seria isso: <title>Marcar Pesquisa PHP</title> <form method="get"action="<?php $_SERVER['PHP_SELF'];?>"> <input type="text" name="pesquisa"> <input type="submit"> </form> <?php $pes=$_GET['pesquisa']; $conec = mysql_connect("localhost", "root", ""); mysql_select_db('test',$conec); $sql =mysql_query("SELECT * FROM aluno WHERE nome LIKE '$pes%'")or die(mysql_error($conec)); $cor = "<font color = 'red'>" .$p_letra=substr($pes,0,1)."</font>"; echo 'Você quis pesquisar por:'.str_replace(substr($pes,0,1),$cor,$pes); echo 'Resultado da sua pesquisa: <br><br>'; if($sql){ while ($linha = mysql_fetch_array($sql)){ $cor = "<font color = 'red'>" .$p_letra2=substr($linha['nome'],0,1)."</font>"; echo str_replace(substr($linha['nome'],0,1),$cor,$linha['nome']); echo '<br>'; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
edu_php 0 Denunciar post Postado Maio 14, 2008 Obrigado Alaerte! Seu código foi 100% Na pressão acabei conseguindo aqui também. Para as pessoas que tiverem a mesma dificuldade e precise do mesmo resultado segue o código novamente. Porém, o código a seguir não deixará somente a primeira letra da pesquisa em negrito e cor vermelho, mas sim todo o conteúdo que o usuario colocou no campo. Por exemplo, o usuario digitou: "El", o resultado seria: Eliana Elleonor Ellida Elliane Ellinaldo Elliomar Segue o novo código: :grin: <title>Marcar Pesquisa PHP</title> <form method="get"action="<?php $_SERVER['PHP_SELF'];?>"> <input type="text" name="pesquisa"> <input type="submit"> </form> <?php $pes=$_GET['pesquisa']; $conec = mysql_connect("localhost", "root", ""); mysql_select_db('test',$conec); $sql =mysql_query("SELECT * FROM aluno WHERE nome LIKE '$pes%'")or die(mysql_error($conec)); $pes = "<b><font color = 'red'>" .$_GET['pesquisa']."</font></b>"; echo 'Você quis pesquisar por: '.$pes; echo "<br><br>"; echo 'Resultado da sua pesquisa: <br><br>'; if($sql){ while ($linha = mysql_fetch_array($sql)){ $nome = $linha['nome']; $nc = substr($pes, $nome); $n_nome = substr($nome, strlen($_GET['pesquisa'])); echo $nc.$n_nome; echo "<br>"; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Maio 14, 2008 Certo, legal cara ;) Compartilhar este post Link para o post Compartilhar em outros sites
Tsubaru 1 Denunciar post Postado Maio 14, 2008 Opa, aproveitando... Estou tentando fazer um código que exiba somente os nomes que começem por letra específica, mas não tá funcionando. O que fiz: $l = funcaoLista(); for(blablabla) { //Lista só os começam por uma letra específica if (isset($_REQUEST['l'])) { $pos = strpos($nome,$_REQUEST['l']); if ($pos === 0) { print $nome; } //Lista todos } else { print $nome } } Resumindo, se existir letra em $_REQUEST['l'], só vai exibir os que comecem por essa letra, caso contrário, lista todos. Compartilhar este post Link para o post Compartilhar em outros sites
socio89 0 Denunciar post Postado Maio 15, 2008 Opa, aproveitando... Estou tentando fazer um código que exiba somente os nomes que começem por letra específica, mas não tá funcionando. boas... tenho aqui um exemplo de um site de pesquise acho muito bacano http://nodstrum.com/2007/09/19/autocompleter/ cumps Compartilhar este post Link para o post Compartilhar em outros sites