Sistema de Busca em MySQL
Este artigo exemplifica um sistema bastante simples apenas para você ter uma noção de como fazer uma busca no MySQL, você vai adicionando opções a medida que achar necessário.
Utilizei como exemplo uma tabela chamada usuarios com as colunas id, nome e email.
Vamos criar o arquivo busca.html para colocar o formulário que utilizaremos para realizar a busca:
Agora vamos criar o arquivo busca.php que vai fazer a consulta e retornar os resultados:
Acho que agora você já tem uma idéia de como fazer uma busca em um tabela do MySQL. Você pode introduzir opções à medida de suas necessidades, como buscar em mais tabelas ou mais colunas, exibir resultados de forma diferente.
Espero que tenha sido claro o suficiente para o entendimento de todos.
Utilizei como exemplo uma tabela chamada usuarios com as colunas id, nome e email.
CREATE TABLE usuarios ( id integer unsigned not null auto_increment, nome varchar(64) not null, email varchar(128) not null, primary key (id) );
Vamos criar o arquivo busca.html para colocar o formulário que utilizaremos para realizar a busca:
<html> <head> <title>Busca</title> </head> <body> <form method="POST" action="busca.php"> <input type="text" name="busca" size="20"> <input type="submit" value="Buscar" name="ok"> </form> </body> </html>
Agora vamos criar o arquivo busca.php que vai fazer a consulta e retornar os resultados:
<?php $host = 'localhost'; // endereço do seu mysql $user = 'autopost'; // usuário $pass = 'senha_aparece_aqui'; // senha $con = mysql_connect($host,$user,$pass); // função de conexão $db = 'autopost_apg'; // nome do banco de dados mysql_select_db($db,$con) or print mysql_error(); // seleção do banco de dados $sql = mysql_query("SELECT * FROM usuarios WHERE nome LIKE '%$busca%' OR email LIKE '%$busca%'"); // query para selecionar todos os campos da tabela usuários se $busca contiver na coluna nome ou na coluna email // % antes e depois de $busca serve para indicar que $busca por ser apenas parte da palavra ou frase // $busca é a variável que foi enviada pelo nosso formulário da página anterior $count = mysql_num_rows($sql); // conta quantos registros encontrados com a nossa especificação if ($count == 0) { echo "Nenhum resultado!"; } else { // senão if ($count == 1) { echo "1 resultado encontrado!"; } // se houver um resultado diz que existe um resultado if ($count > 1) { echo "$count resultados encontrados!"; } // se houver mais de um resultado diz quantos resultados existem while ($dados = mysql_fetch_array($sql)) { // enquanto houverem resultados... echo "$dados[nome] $dados[email]<br>"; // exibir a coluna nome e a coluna email } } ?>
Acho que agora você já tem uma idéia de como fazer uma busca em um tabela do MySQL. Você pode introduzir opções à medida de suas necessidades, como buscar em mais tabelas ou mais colunas, exibir resultados de forma diferente.
Espero que tenha sido claro o suficiente para o entendimento de todos.
Inseri este sistema busca com algumas edições e obti resultados bem relevantes.
12/01/2015 7:38am
(~10 anos atrás)
A questao e o seguinte, falta mesmo o seguinte codigo?
$busca=$_POST['busca'];
Se sim onde?
Pois ta funcionando sem ele.
E outra coisa, esse codigo e seguro, ou tem falhas de segurança? Se sim como resolver?
http://tectonny.com
$busca=$_POST['busca'];
Se sim onde?
Pois ta funcionando sem ele.
E outra coisa, esse codigo e seguro, ou tem falhas de segurança? Se sim como resolver?
http://tectonny.com
27/06/2010 9:39pm
(~14 anos atrás)
bom dia, muito bom,sou novo em php,gostaria de saber aonde ele vai buscar o resultado ou entao aonde preencher as palavras q ele vai bsucar.
obr
obr
16/03/2010 12:22pm
(~14 anos atrás)
Muito bom...
Era exatamento isso que eu procurava... estou adaptando-a agora a minhas necessidades.
Grande Abraço!
Era exatamento isso que eu procurava... estou adaptando-a agora a minhas necessidades.
Grande Abraço!
11/10/2009 12:39am
(~15 anos atrás)
Boa tarde, eu já tenho um sistema de busca, mas gostaria de saber como fazer um, igual ao do CADÊ que tem as opções de; no mesmo formulário; buscar: Na web, No meu site, No shopping
Tudo isso sem alterar o que o usuário digitou no campo do form.
Alguém poderia me ajudar???
Tudo isso sem alterar o que o usuário digitou no campo do form.
Alguém poderia me ajudar???
26/05/2009 1:03pm
(~15 anos atrás)
Pesquisei e achei um estudo brasileiro para construir um soundex em português-br. Está na seção scripts soundexbr
02/05/2009 11:11pm
(~15 anos atrás)
observei que ficou faltando uma tag
$busca=$_POST['busca'];
em busca.php
mas o artigo e excelente
$busca=$_POST['busca'];
em busca.php
mas o artigo e excelente
30/03/2009 5:58am
(~15 anos atrás)
Tem provedores onde ao inserir um termo com acento na busca de um site exibem uma mensagem de erro do Apache Not Acceptable e mostram a querystring com caracteres especiais no lugar dos acentos.
Como se pode evitar esta mensagem de erro ?
Como se pode evitar esta mensagem de erro ?
19/03/2009 5:07am
(~15 anos atrás)