Olá pessoal!
Vamos falar de um assunto que muita gente pensa que é dificil de programar mas na verdade é bem fácil, estou falando de um sistema de busca.
Neste post estarei utilizando três páginas, uma para o formulário, outra para os resultados, e uma página de conexão com o banco de dados. É possível fazer também com duas páginas e até com uma pagina, mas dessa forma fica mais organizado. :)
Vamos lá...
Primeiro devemos criar uma conexão com o banco de dados. Caso tenha dúvidas de como fazer para criar um banco de dados e conectar a ele, acesse os links:
Iniciando no PHP (tópico Criando um banco de dados)
Conexão MySQL com PHP
Com o banco de dados e conexão criadas, vamos ao que interessa.
Criarei uma página chamada index.html que conterá nosso formulário de busca.
index.html
<form action="busca.php" method="get">
<input type="text" name="palavra" /> <input type="submit" value="Buscar" />
</form>
Vamos criar agora a nossa página de resultados, nomearei como busca.php.
busca.php
<?php
include "conexao.php";
$palavra = $_GET["palavra"];
$sql = mysql_query("SELECT * from pessoas WHERE nome LIKE '%".$palavra."%'");
$result = mysql_num_rows($sql);
if($result>=1) {
echo "Exibindo ".$result." resultados para <strong>".$palavra."</strong><br><br>";
while($linha = mysql_fetch_array($sql)) {
$nome = $linha["nome"];
echo $nome."<br>";
}
} else {
echo "Não foi encontrado nenhum resultado para <strong>".$palavra."</strong>";
}
?>
- Na primeira linha eu chamo a conexão com o banco de dados que foi feita anteriormente.
- Logo abaixo, eu uso o comando $_GET["palavra"], para obter os dados do formulário(repare que no código do formulário, o campo text tem a propriedade name com o valor palavra).
- Abaixo foi criado a query para retornar os dados do banco de dados com os parâmetros da busca.
- A varíavel $result, identifica quantos resultados foram encontrados nessa consulta.
- A estrutura if e else verifica se possui ou não resultados.
- Caso possua resultados é utilizado o comando While(Traduzindo fica: Enquanto), ou seja, enquanto tiver dados que condiz com os parametros da pesquisa, será exibido.
- A variável $linha, é quem traz os resultados do banco de dados.
- Depois é só a continuação do if e else.
Até o próximo post!
Artigos relacionados:
Inserir dados no banco de dados com PHP
Atualizar dados no banco de dados com PHP
Deletar dados no banco de dados com PHP