Jump to content
  • 0
angelweapon

COMO FAZ A BUSCA POR ID?

Question

To no PESQUISAR.PHP este codigo:

 

<?php
$conexao = mysql_connect('localhost', 'root', '');
mysql_select_db('browser_game', $conexao);
if (!$conexao)
{
    echo "erro ao conectar ao banco de dados!"; exit();
}

$SQL = ("SELECT * FROM Tabela_teste ");
$query = mysql_query($SQL);
while ($SQL = mysql_fetch_array($query)) {

    
    $id =$SQL["id"];
    $descricao = $SQL ["descricao"];

    echo "<a href=form.php?id=$id>$descricao</a></br>";
}
?>

 

 

 

 

E NO FORM.PHP este codigo:

 

<h1> pesquisar cursos </h1>
<form method="POST" action="pesquisar.php">
                pesquisar: <input type="text" name="pesquisar" placeholder="PESQUISAR AQUI">
<input type="submit" value="ENVIAR">
</form>

 

 

 

E NO BANCO DE DADOS, esta tabela

 

tabela_teste

colunas:  "id"(1)( 2)            "descricao"(registro1)(registro 2 para teste)

 

 

 

Como faço para digitar no form a palavra registro e buscar o registro 1?

 

 

JA TENTEI SO HOJE 8 TUTORIAIS E TUDO DA ERRO DE INDEX E MYSQL_FETCH_ARRAY DOS INFERNOS E NUNCA VAI.................. mas se eu faço a tabela como ta ai aew vai... mas aew vai todos os registros... e agora estou querendo aprender como separar por coluna, tipo buscar um tipo de coluna. como faz? 

Edited by angelweapon
errei em um comentário e como é código não da pra deixar errado.

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0
if(isset($_POST['pesquisa'])){
	$pesq = $_POST['pesquisa'];
	
	$sel = $pdo->prepare("SELECT * FROM Tabela_teste WHERE descricao LIKE %'$pesq'%");
	$sel->execute();
}

No exemplo acima, você botaria na pagina de pesquisa.php, quando digitado no campo pesquisa do seu form ele vai busca na tabela testes todos os resultados que tem que a palavra digitada na coluna descricao do seu bd, depois faz o while etc..

descricao LIKE %'$pesq'% (Pesquisa todos registro do campo descricao que tenha as letras pesquisadas)

descricao = '$pesq' (Pesquisa e exibe somente o que foi digitado no form e que tenha exatamente no campo descricao)..

Mysql_* foram descontinuadas no php 5.5, a partir da ai use o MySQLi ou PDO... 

Share this post


Link to post
Share on other sites
  • 0

Hum eu entendi como é a estrutura agora, então fiz as adaptações então quando digito a palavra "registo 1" e envio ele está me retornando em página em branco não está aparecendo a palavra "registo 1" na pesquisar.php... tem algo errado no meu código será? 

 

<?php

$conexao = mysql_connect('localhost', 'root', '');
mysql_select_db('browser_game', $conexao);
if (!$conexao)
{
    echo "erro ao conectar ao banco de dados!"; exit();
}


if(isset($_POST['pesquisa'])){
    $pesq = $_POST['pesquisa'];
    
    $sel = $pdo->prepare("SELECT * FROM Tabela_teste WHERE descricao LIKE %'$pesq'%");
    $sel->execute();

while ($SQL = mysql_fetch_array($query)) {

    
    $id =$SQL["id"];
    $descricao = $SQL ["descricao"];

    echo "<a href=form.php?id=$id>$descricao</a></br>";
}

}
?>

Share this post


Link to post
Share on other sites
  • 0

VIM AQUI PRA DIZER QUE CONSEGUI.. ACHEI 1 explicação e complementei com a sua... então ficou assim... e tá funcionando certinho SEM NADA DE ERROR ORTOGRÁFICOS que fazem o cara não aprender e sim perder tempo, lá vai:

 

BANCO DE DADOS:

Tabela de Nome:  tabela_teste

Campos desta Tabela:  id / descricao

Campos preenchidos respectivamente: (id) 1 2 (descricao) registro 1    registro 2 para teste

 

*************************************************************************

ARQUIVO FORM.PHP:

 

<h1>Pesquisar Personagem</h1>
<form action="pesquisar.php" method="post">
<input type="text" name="palavra" />

<input type="submit" Value="Buscar" />
</form>

 

***************************************************************************

 

***************************************************************************

ARQUIVO PESQUISAR.PHP:

 

<?php

$conexao = mysql_connect('localhost', 'root', '');
mysql_select_db('browser_game', $conexao);
if (!$conexao)
{
    echo "erro ao conectar ao banco de dados!"; exit();
}


$busca = $_POST['palavra'];// palavra que o usuario digitou


$busca_query = mysql_query ("SELECT * FROM tabela_teste WHERE descricao LIKE '$busca'")or die(mysql_error());//faz a busca com as palavras enviadas

if (empty($busca)) { //Se nao achar nada, lança essa mensagem
    echo "Nenhum registro encontrado.";
}

// quando existir algo em '$busca_query' ele realizará o script abaixo.
while ($dados = mysql_fetch_array($busca_query)) {
     
    echo "Personagem Selecionado: $dados[descricao]<br />";
    
    
    echo "<hr>";
}

?>

 

***************************************************************************

 

 

OBSERVAÇÃO: A SUA DESCRIÇÃO ->

descricao LIKE %'$pesq'% (Pesquisa todos registro do campo descricao que tenha as letras pesquisadas)

descricao = '$pesq' (Pesquisa e exibe somente o que foi digitado no form e que tenha exatamente no campo descricao)..

 

É ótima por que dá pra aprender a diferença entre uma e outra, Obrigadão mesmo amigo =)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.