Aprenda a criar Sistema de Busca utilizando o PHP e MySQL (PDO).
HTML
HTML da página de busca.
index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<!DOCTYPE html> <html> <head> <title>Busca PHP - Canal TI</title> </head> <body> <h2>Pesquisa de Livros</h2> <form action="busca.php" method="GET"> <label>Nome do livro</label> <input type="text" name="nome_livro" size="50" placeholder="Insira o nome do livro"> <button style="width:100px;">Buscar</button> </form> </body> </html> |
Banco de dados MySQL
Criar banco de dados:
1 |
CREATE DATABASE canalti; |
Usar a base dados recém-criada:
1 |
USE canalti; |
Estrutura do Banco de dados:
1 2 3 4 |
CREATE TABLE `canalti`.`livro` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `nome` VARCHAR(300) NOT NULL ); |
Inserts:
1 2 3 4 |
INSERT INTO livro (nome) VALUES ('Code Clean'); INSERT INTO livro (nome) VALUES ('Engenharia de Software'); INSERT INTO livro (nome) VALUES ('Domain Driven Design'); INSERT INTO livro (nome) VALUES ('Livro teste'); |
PHP
busca.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
<?php if (!isset($_GET['nome_livro'])) { header("Location: index.php"); exit; } $nome = "%".trim($_GET['nome_livro'])."%"; $dbh = new PDO('mysql:host=127.0.0.1;dbname=canalti', 'root', 'root1234'); $sth = $dbh->prepare('SELECT * FROM `livro` WHERE `nome` LIKE :nome'); $sth->bindParam(':nome', $nome, PDO::PARAM_STR); $sth->execute(); $resultados = $sth->fetchAll(PDO::FETCH_ASSOC); ?> <!DOCTYPE html> <html> <head> <title>Resultado da busca</title> </head> <body> <h2>Resultado da busca</h2> <?php if (count($resultados)) { foreach($resultados as $Resultado) { ?> <label><?php echo $Resultado['id']; ?> - <?php echo $Resultado['nome']; ?></label> <br> <? } } else { ?> <label>Não foram encontrados resultados pelo termo buscado.</label> <?php } ?> </body> </html> |
Download do projeto completo
Caso queira, o download do projeto completo (html+script do banco+php) pode ser feito aqui.