Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

oscar009

Busca php e mysql

Recommended Posts

Pelo amor de DEUS , alguem tem um script de busca para mim colocar no meu site.

Uma busca simples !

 

a busca que procuro é assim ;

 

digita a palavra na pagina inicial, após ela fazer a consulta traz o resultado em uma outra pagina . SUPER SIMPLES.

Mas essas porcarias do youtube nenhuma funcionou.

 

Agradeço desde já a quem possa me ajudar .

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá oscar009,

 

Você pode tentar usar este código:

 

Página onde está o formulário de pesquisa (vou chamar de index.php)

<!DOCTYPE html>
<html>
<head>
 <title>Pesquisa</title>
</head>

<body>
 <h1>Pesquis</h1>
 Use o campo abaixo para pesquisar em nosso banco de dados:<P>
 <form name="psq" method="POST" action="pesquisa.php">
  <input type="text" placeholder="Pesquise o que você desejar!" size="30" name="pesquisa"> <input type="submit" value="Pesquisar">
 </form>
</body>
</html>

pesquisa.php (página que recebe os dados do formulário PSQ da página index.php)

<?php
// Define o tipo de HMTL como UTF-8
header('Content-Type: text/html; charset=utf-8');

// Define as informações de login
$host = "SEU_HOST";
$db   = "SEU_BANCO_DE_DADOS";
$user = "NOME_DE_USUÁRIO";
$pass = "SUA_SENHA";
$con = mysql_pconnect($host, $user, $pass) or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db($db, $con);

// Remove os problemas de acentuação que acontecem com o MySQL
mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');

// Diz que o que você digitou no campo de busca tem agora o valor $pesquisa
$pesquisa = $_POST['pesquisa'];

// Faz a seleção das colunas: coluna1, coluna2, coluna3 de suatabela, onde a colunatal deve ser igual à pesquisa ou conlunatalo seja igual ao termo que você digitou
$query = sprintf("SELECT coluna1, coluna2, coluna3 FROM suatabela WHERE colunax LIKE '$pesquisa' OR colunatal LIKE '$pesquisa'");
$dados = mysql_query($query, $con) or die(mysql_error());

// Identifica qual a 'linha' onde está o registro e a deixa em uma string chamada $linha
$linha = mysql_fetch_assoc($dados);

// Conta o número total de resultados que encontrou
$total = mysql_num_rows($dados);
?>
<!DOCTYPE html>
<html>
<head>
 <title>Pesquisa >> <?php echo $pesquisa ?></title> <!-- Exibe no título da página o que você pesquisou -->
</head>

<body>
 <h1>Pesquisa</h1>
 Use o campo abaixo para pesquisar em nosso banco de dados:<P>
  <form name="psq" method="POST" action="pesquisa.php">
   <input type="text" placeholder="Pesquise o que você desejar!" size="30" name="pesquisa"> <input type="submit" value="Pesquisar">
  </form><p>
 </form>
 <hr width="50%" align="left">
 <?php
 if($total >= 1){
  echo "CHAME AQUI OS RESULTADOS" // Para realizar a chamada, basta adicionar $linha['colunax']
 }
 else { // Caso o script não encontre nada, aparece esta mensagem.
  echo "<h2>Não encontramos nada!</h2>A pesquisa <strong>" . $pesquisa . "</strong> não existe em nosso banco de dados.<br>Para não acontecer isso novamente, verifique se a palavra foi digitada corretamente ou se não há nenhum erro ortográfico.
 }
 ?>
</body>
</html>
<?php
mysql_free_result($dados);
?>

Lembre-se de mudar as colunas coluna1, coluna2, coluna3 para as que você quiser usar neste buscador.

Por exemplo, se você tiver um site de compras: nome_produto, preco_produto, descricao_produto. Se você tiver um site de notícias, pode ser assim: titulo, data, autor, descricao. Enfim, pode ser o que você quiser!

 

Se por um acaso você quiser adicionar mais colunas basta inserir vírgula e nome da coluna.

 

Onde eu disse para fazer a chamada é para exibir o que há na coluna. Por exemplo, temos:

id: 1
nome: Pedro
pais: Brasil
continente: América
planeta: Terra

E quero chamar que sou do país tal que fica no planeta tal, de acordo com meu registro. O código ficaria assim:

<?php
 echo "Moro no " . $linha['pais'] . ", que fica localizado no planeta " . $linha['planeta'];
?>

O nosso resultado seria parecido com esse:

Moro no Brasil, que fica localizado no planeta Terra.

 

Se você quiser saber mais sobre esse assunto, pesquise por Concatenação em PHP.

 

Qualquer dúvida é só perguntar! :thumbsup:

 

Atenciosamente,

Pedro HSB :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.