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
(~15 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
(~16 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
(~16 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
(~16 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
(~16 anos atrás)