Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Busca total ou parcial com asterístico *

01-04-2007 08:12

Nesse artigo vou mostrar como fazer uma busca em uma tabela MySQL por uma palavra ou por parte dela.

Vejamos a tabela abaixo:

nomes
João
Josimar
Maria
Pedro


Para buscar exatamente o nome Josimar, usaremos:

$selec = "SELECT * FROM nossatabela WHERE nomes='Josimar'";

mas, se precisarmos retornar todos os campos que comecem com Jo?

Esse script abaixo faz exatamente isso.

<?php /* dados de conexão */ $conexao = mysql_connect("localhost", "usuario", "senha") or die(mysql_error()); $db = mysql_select_db("bancodedados"); ?> <!-- um formulário para testar esse exemplo //--> <form action="?envio=ok" method="POST"> Use * para completar a palavra, ex: busca para: João, Jorge, use: Jo* <br> <input type="text" name="valor" value=""> <input type="submit"> </form> <?php /* se for enviado */ if($_GET['envio']=="ok") { /* cria $valor, para buscar no banco de dados */ $valor = $_POST['valor']; /* se tiver * no valor */ if(strstr($valor, '*')==TRUE) { /* o * é retirado */ $valor=str_replace("*","",$valor); /* usamos o like para buscar palavras que comecem com o valor passado */ $selec = "SELECT * FROM suatabela WHERE seucampo LIKE '$valor%'"; } else { /* caso contrário, buscamos a palavra exata */ $selec = "SELECT * FROM suatabela WHERE seucampo='$valor'"; } // fim do if de verificação $exec = mysql_query($selec, $conexao) or die(mysql_error()); $total = mysql_num_rows($exec); ?> <?php /* exibimos os dados da tabela */ while($dados=mysql_fetch_array($exec)) { echo $dados['campodatabela']."<br>"; } // fim do while /* total de resultados encontrado */ echo "total de $total dado(s)."; ?> <?php /* a conexão é fechada */ mysql_close($conexao); ?> <?php } // fim do envio ?>

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado