Hoje vamo aprender a fazer um pequeno sistema de busca.
Nos dias de hoje um site que não possua este sistem é considerado um site fraco, pois a busca ajuda ao visitantes encontrar algo com mais facilidade, isso faz com que o visitante volte mais tarde e se torna talvez um cliente.
Um dos maiore sistemas de busca conhecido e utilizado hoje no Brasil é o "GOOGLE".
Muita gente tem dificuldade de como fazer este pequeno sisteminha, e eu tentarei ensinar o mais detalhado que eu poder.
Bom vamo parar de falar e ir direto ao que interessa. Eu demorei algum tempo até aprender (apesar de simples) um sistema que fizesse uma busca no meu banco de dados e retorna-se com o resultado que eu procurava. Hoje vocês aprenderão em poucos paços como criar um sistema que busca o que você procura num banco de dados.
Primeiro criamos um arquivo chamado busca.html
O formulário abaixo é encarregado de enviar o que buscamos para o arquivo responsavel em receber e retornar a busca.
<form method="post" action="busca.php">
<input type=text name="busca" value="<? echo $_POST[busca]; ?>" />
<input type="submit" name="ok" value="Buscar" />
</form>
Depois de criado o formulário, criaremos o sistema que buscará e retornará os resultados.
Chamaremos este arquivo de busca.php
Segue o código abaixo e explicarei em seguida. Eu coloquei em forma de imagem pois é mais fácil agente aprender a fazer alguma coisa fazendo ela do que somente copiando e colando, eu sei que isso dará um pouco de trabalho mais será recompensador no final.
<?
$host = "localhost"; // endereço de seu mysql
$user = "root"; // usuario
$pass = "senha" // senha
$con = mysql_connect($host,$user,$pass); // função de conexão
$db = "busca"; //nome do banco de dados;
mysql_select_db($db,$con) or print mysql_erro(); // seleciona o banco de dados
$sql = mysql_query ("SELECT chave FROM chave WHERE chave LIKE '%$busca%'");
$count = mysql_num_rows($sql); // conta quantos registro encontrado com a nossa especificação
if ($count == 0){
echo "Nenhum registro encontrado<p>";
}
else if{
if($count == 1){
echo "1 registro encontrado<p>";
}
if ($count > 1){
echo "$count resultado encontrados<p>";
}
while($dados = mysql_fetch_array($sql)){
$result = $dados[chave];
// enquanto ouver resultados
echo '<table><tr><td>'.srt_repacle("$busca","<b><i><font color=red>$busca</font></i></b>", $result).'</td></tr>';
}
echo '</table>';
}
mysql_close(); // encerra a conexão com o banco de dados
?>
No início do código nós temos a conexão com o servidor que é dado pelo código:
mysql_connect("nome_do_host","nome_usuario","senha","bolean_new","int_flags");
E a seleção do banco de dados pelo código:
mysql_select_db("nome_do_banco_de_dados","int_link_de_identificação");
Em seguida nós temos a seleção da tabela onde se encontra a chave que queremos buscar que é dada pelo código:
mysql_query("SELECT nome_da_coluna FROM nome_da_tabela WHERE nome_da_coluna LIKE '%o_que_queremos_buscar%'");
O % serve para buscar qualquer palavra na coluna especificada.
O mysql_num_rows($sql) serve para especificar o numero de linha que existe a palavra que buscamos.
Temos também um laço while(), ele é encarregado de buscar linha por linha o que procuramos e retornar as linhas encontradas até não existir mais nenhuma linha com a palavra que procuramos e por fim fechamos a conexão com o servidor para que o nosso server não fique aberto a toa e deixe o sistema lento.
Agora vamor deletar o bd e a tabela se existirem e criar o banco de dados e as tabelas.
DROP DATABASE IF EXISTS busca;
CREATE DATABASE busca;
USE busca;
DROP TABLE IF EXISTS chave;
CREATE TABLE chave( chave TEXT NOT NULL );
pronto banco de dados e tabelas foram criados, agora é só inserir a informação e depois fazer a procura.
Por hoje é isso, espero ter ajudado vocês, caso encontrem algum erro é só postar que eu corrijo. Dúvidas, susjestões, críticas ou caso queiram pedir algum código ou que ensine a fazer por exemplo: Sistema de cadastro de clientes, uploads de arquivos em geral, etc...
É só postar que eu farei o possível para ajudar vocês, até a próxima.