Hoje vamos ver como criar uma página de busca simples com
PHP, utilizando a extensão PDO e o banco de dados MySQL. Esta página retornará os e-mails de amigos pesquisando-se parte do
nome num campo de busca em um formulário; é bem simples. Vamos aos passos:
O primeiro passo é criar no banco de
dados uma tabela bem simples, inicialmente apenas com os campos: id, nome e
email, para facilitar. O código para criação dessa tabela segue abaixo (a
tabela se chamará “amigos”, sem aspas):
CREATE
TABLE `amigos` (
`id` int(10) unsigned NOT NULL
auto_increment,
`nome` varchar(50) NOT NULL default '',
`email` varchar(50) default NULL,
PRIMARY KEY
(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Agora abra seu editor, crie uma nova
página e digite (ou copie e cole) o seguinte código p/ criar a conexão ao
MySQL:
<?php
try {
$con = new PDO('mysql:host=XXX;dbname=XXX',
'root', 'XXX');
} catch (PDOException $e) {
print $e->getMessage();
}
?>
Substitua, acima, os triplos X (“XXX”), pelo caminho do
banco de dados (se estiver em seu computador, normalmente é “localhost” sem
aspas), nome do banco e senha (se for o caso, substitua também root pelo nome
do usuário).
Agora insira as linhas abaixo para criar
um formulário simples de pesquisa em HTML:
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<title>pesquisa
simples com PDO</title>
</head>
<body>
<h2>Pesquisa
simples com PDO
</h2>
<p>
<form
name="form1" method="post" action="">
<label>
<input name="cxnome"
type="text" id="cxnome" value=""
size="30">
</label>
<label></label>
<label>
<input type="submit"
name="pesquisar" value="Pesquisar">
</label>
<label>
<input
type="reset" name="Submit2" value="Limpar">
</label>
Agora vamos inserir o código PHP-PDO.
Veja que a pesquisa só retorna resultados se o campo de busca não estiver em
branco (linha 2) e incluímos um total de registros encontrados (linhas 9 a 11):
1.
<?php
2. if(isset($_POST['pesquisar'])&&!empty($_POST['cxnome']))
3.
{
4. $nome=$_POST['cxnome'];
4. $nome=$_POST['cxnome'];
5.
$stmt
= $con->prepare("select * from amigos where nome like :letra");
6.
$stmt->bindValue(':letra',
'%'.$nome.'%', PDO::PARAM_STR);
7.
$stmt->execute();
8.
$resultados
= $stmt->rowCount();
9.if($resultados>=1){
10.echo "Resultado(s) encontrado(s):
".$resultados."<br /><br />";
11.while($reg = $stmt->fetch(PDO::FETCH_OBJ))
12.{
13.echo $reg->nome." - ";
14.echo $reg->email."<br />";
15.}
16.}
17.else
18.{
19.echo "Não existe usuario cadastrado";
20.}
21.}
22.else{
23.echo "Preencha o campo de pesquisa";
24.}
25.?>
Vamos fechar o código HTML aberto
acima:
</body>
</html>