Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Consulta no banco de dados através de um textfield


Alininha

Pergunta

Bom dia galera,

Estou começando a atuar na area de programação que não é bem o meu forte, e já estou com projetos a serem desenvolvidos e com algumas dúvidas.

:)

Acontece que estou tentando fazer uma consulta no meu banco de dados "teste" através de um text field. Já pesquisei vários tópicos na internet, tentei seguir o padrão utilizado, porém, não está funcionando. Não sei mais o que fazer alguém poderia me ajudar?

Essa é a minha tela de consulta:

<html>
<head>
<title>Consulta</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="executaConsulta.php" method="post" name="form1">
    Faça suas consultas! Veja os dados cadastrados -->> 
    <input name="consultar" type="submit" value="Consultar">
</form>
<form action="consultaNome.php" method="post" name="form1">
    Digite o numero: <input name="num" type="text" size="4" maxlength="4">
    <br>
    Consultar por nome -->>
    <input name="consultar" type="submit" value="Consultar por numero">
    
    
</form>
</body>
</html>
E esse é o meu codigo de execução:
<html>
    <body>
    
    <?  
        // Este arquivo conecta um banco de dados MySQL - Servidor = localhost 
        //1º passo - Conecta ao servidor MySQL 
        $id=mysql_connect("localhost","root","") or die("Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.");
        //2º passo - Seleciona o Banco de Dados 
        $con=mysql_select_db("teste",$id) or die("Não foi possível estabelecer uma conexão com o gerenciador MySQL.");
        
    //Executa a consulta
        $num=$_GET['num']
        $sql = "SELECT nome FROM teste.cadastro where num='$num')";
        $res=mysql_query($sql,$id);
        echo "<b>Tabela de dados cadastrados :</b>";
        echo "<br></br>";
         for($i = 0; $i < mysql_num_rows($res); $i++){
            $registro = mysql_fetch_row($res);
            $num= $registro[1];            
            $nome= $registro[0];
        //    echo "Numero:".$registro[1];
        //    echo "<p></p>";
        //    echo "Nome:".$registro[0];
        //     echo "<br></br>";
        echo "<tr class='titulo_tabela'>\n";
        echo "<td colspan='8'><table class='tabela' border=2 bordercolor='#ff99cc' width='30%'><tr>\n";
        echo "<td class='texto' height='15' bgcolor='#CC99CC'>&nbsp;<b>Nome: $nome </b></td>\n";
        echo "<td class='texto' height='15' bgcolor='#00cccc'>&nbsp;<b>Número $_POST['num'] </b></td>\n";
        echo "</tr></table></td>\n";
        echo "</tr>\n";
        echo "<tr class='titulo_tabela'>\n";
        }
    ?>
    </body>
</html>

Essas telas são somente telas de testes, estou tentando encontrar uma solução antes de mexer de verdade no site que estou criando com a tela de consulta.

Meu banco de dados teste possui somente dois campo que é nome e num.

alguém pode me ajudar??

Obrigada,

Alininha ;)

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Tem que debugar...

Troque isso:

$res=mysql_query($sql,$id);
Por isso
$res=mysql_query($sql,$id)OR DIE(mysql_error());
Um detalhe, aqui:
$sql = "SELECT nome FROM teste.cadastro where num='$num')";
Até onde eu me lembro, aquele ) não existe...
Fiz essa mudança mas não fez diferença alguma continua dando erro na linha 13 exatamente na consulta sql
<html>
    <body>
    
    <?  
        // Este arquivo conecta um banco de dados MySQL - Servidor = localhost 
        //1º passo - Conecta ao servidor MySQL 
        $id=mysql_connect("localhost","root","") or die("Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.");
        //2º passo - Seleciona o Banco de Dados 
        $con=mysql_select_db("teste",$id) or die("Não foi possível estabelecer uma conexão com o gerenciador MySQL.");
        
    //Executa a consulta
        $num=$_GET['num']
        $sql = "SELECT nome FROM teste.cadastro where num='$num'";
        $res=mysql_query($sql,$id) or die(mysql_error());
        echo "<b>Tabela de dados cadastrados :</b>";
        echo "<br></br>";
         for($i = 0; $i < mysql_num_rows($res); $i++){
            $registro = mysql_fetch_row($res);
            $num= $registro[1];            
            $nome= $registro[0];
        //    echo "Numero:".$registro[1];
        //    echo "<p></p>";
        //    echo "Nome:".$registro[0];
        //     echo "<br></br>";
        echo "<tr class='titulo_tabela'>\n";
        echo "<td colspan='8'><table class='tabela' border=2 bordercolor='#ff99cc' width='30%'><tr>\n";
        echo "<td class='texto' height='15' bgcolor='#CC99CC'>&nbsp;<b>Nome: $nome </b></td>\n";
        echo "<td class='texto' height='15' bgcolor='#00cccc'>&nbsp;<b>Número $_POST['num'] </b></td>\n";
        echo "</tr></table></td>\n";
        echo "</tr>\n";
        echo "<tr class='titulo_tabela'>\n";
        }
    ?>
    </body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Oiii !! ESerra muito obrigada por ter respondido meu tópico!!

Já achei o meu erro esta na linha acima da treza em

$num=$_GET['num']

faltava o " ; " no final da linha!!! ::blush:

mas até que enfim consegui fazer uma consulta pelo banco e colocar em uma tabela!!

pode encerrar esse topicoo

Alininha :)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...