DjRobertoSC 0 Denunciar post Postado Abril 7, 2019 Olá, amigos, sou novo por aqui. Primeiramente um forte abraço a todos :) Ok, vou tentar explicar o que estou querendo fazer. Trabalho com VB.NET. porem tenho que fazer uma pagina em PHP que ficara no site do cliente onde ele poderá fazer algumas consultas online. Criei o banco de dados e a tabela no host onde esta hospedado o site. tudo ok. Em VB.NET fiz um programa que acessa esse banco de dados e faz cadastros e consultas. funciona perfeitamente. Mas não entendo muito de PHP, e tenho que fazer uma consulta neste banco. Na pagina o cliente insere o código e clicka em pesquisar e mostra para ele o resultado desta pesquisa. Mostrar todos os dados da tabela eu consegui fazer, mas pesquisar um único registro está dando erro na hora de fazer a pesquisa. "Erro ao retornar dados" fiz uma pagina em HTML onde o cliente inseri o código para pesquisa e clicka enviar. chamando a pagina em PHP. O que está na pagina PHP mostro abaixo. Alguem pode me dizer onde estou errando ? Agradeço de coração a atenção, Obrigado e vida longa a todos. Codigo: <?php // Conectando ao banco de dados: include_once("conectar.php"); // Recebendo os dados a pesquisar $pesquisa = $_POST['Codigo']; ?> <html> <head> <link href="estilos.css" rel="stylesheet" type="text/css"> <title>Resultado da pesquisa</title> </head> <body> <!-- Criando tabela e cabeçalho de dados: --> <table border="1" style='width:50%'> <tr> <th>CÓDIGO</th> <th>NOME</th> <th>HISTÓRICO</th> </tr> <!-- Preenchendo a tabela com os dados do banco: --> <?php $sql = "SELECT * FROM tbcadastros WHERE codigo = '$pesquisa'"; $resultado = mysqli_query($strcon,$sql) or die("Erro ao retornar dados"); // Obtendo os dados por meio de um loop while while ($registro = mysqli_fetch_array($resultado)) { $codigo = $registro['codigo']; $cliente = $registro['nome']; $historico = $registro['historico']; echo "<tr>"; echo "<td>".$codigo."</td>"; echo "<td>".$cliente."</td>"; echo "<td>".$historico."</td>"; echo "</tr>"; } mysqli_close($strcon); echo "</table>"; ?> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
ShadowDLL 2 Denunciar post Postado Abril 7, 2019 Favor verificar se o nome de sua tabela está de acordo! Segue exemplo abaixo: <?php $host = "127.0.0.1"; $user = "root"; $pass = ""; $data = "test_im"; # CREATE CONNECTION $strcon = mysqli_connect ( $host, $user, $pass, $data ); # CHECK CONNECTION if ( mysqli_connect_errno () ) { echo "Failed to connect to MySQL: " . mysqli_connect_error (); } ?> <html> <head> <link href="estilos.css" rel="stylesheet" type="text/css" /> <title>Resultado da pesquisa</title> </head> <body> <!-- Criando tabela e cabeçalho de dados: --> <table border="1" style="width: 50%"> <thead> <tr> <th>CÓDIGO</th> </tr> </thead> <tbody> <?php $pesquisa = 1; $sql = "SELECT * FROM tbcadastros WHERE codigo = '$pesquisa' LIMIT 1"; $resultado = mysqli_query ( $strcon, $sql ) or die ( "Erro ao retornar dados" ); while ( $registro = mysqli_fetch_array ( $resultado ) ) { $codigo = $registro [ 'codigo' ]; echo "<tr>"; echo "<td>" . $codigo . "</td>"; echo "</tr>"; } ?> </tbody> </table> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
DjRobertoSC 0 Denunciar post Postado Abril 8, 2019 Olá ShadowDLL Fiz exatamente igual, mas ainda está dando o mesmo erro. O interessante é que mostrar todos os registros ,eu consigo fazer. minha dificuldade esta em pesquisar apenas um registro específico . Caso queiras ver como funciona, meu teste esta em: www.djrobertooliveira.com.br/microworld existem dois registros no banco de dados um com o numero 12345678 e outro com o numero 20452103 Agradeço muito a sua ajuda, valeu amigo, uma ótima semana ae para todos. Compartilhar este post Link para o post Compartilhar em outros sites
DjRobertoSC 0 Denunciar post Postado Abril 8, 2019 Caro amigo, consegui fazer funcionar certinho, faz a pesquisa e mostra, blz. Só que se deixar a caixa de texto em branco, e clicar em buscar, ele busca todos os registros. Como faço para ele verificar se a caixa de texto está vazia, e dar uma msg que a caixa de texto não pode estar vazia. Tipo só pesquisar se tiver caracteres na caixa. Fazer algo parecido com if else end if. heheehe. Valeu ae :) Compartilhar este post Link para o post Compartilhar em outros sites
ShadowDLL 2 Denunciar post Postado Abril 8, 2019 Suponhamos que tu tenhas mais de 1 ID igual por algum motivo, então, para trazer um único utilize no final da SQL o LIMIT 1 Dito, segue um exemplo de verificação de campos de formulário: <?php # QUANDO A PESSOA CLICAR NO PESQUISAR, O IF VERIFICARÁ # SE ALGUM DADO POR METHOD POST FOI ENVIADO, ASSIM, # EM SEGUIDA ELE VAI VERIFICAR SE O CAMPO NÃO ESTÁ # VAZIO E APRESENTAR O CÓDIGO, CASO CONTRARIO, # MOSTRA O ERRO. # VERIFICA SE ALGO FOI ENVIADO PELO METHOD POST if ( $_POST ) { # VERIFICA SE O CAMPO CODIGO NÃO ESTÁ VAZIO if ( ! empty ( $_POST [ 'codigo' ] ) ) { echo "Código: " . $_POST [ 'codigo' ]; } else { echo "Erro, preencha todos os campos!"; } } ?> <!DOCTYPE html> <html> <head> <title> TESTE </title> </head> <body> <form class="form" method="post" action="#"> <label>Código: </label> <input type="text" name="codigo" placeholder="Digite o Código" /> <br /> <input type="submit" value="Pesquisar" /> </form> </body> </html> Guia: Funções de Manipulação de Variáveis Compartilhar este post Link para o post Compartilhar em outros sites
DjRobertoSC 0 Denunciar post Postado Abril 8, 2019 6 horas atrás, ShadowDLL disse: Suponhamos que tu tenhas mais de 1 ID igual por algum motivo, então, para trazer um único utilize no final da SQL o LIMIT 1 Dito, segue um exemplo de verificação de campos de formulário: <?php # QUANDO A PESSOA CLICAR NO PESQUISAR, O IF VERIFICARÁ # SE ALGUM DADO POR METHOD POST FOI ENVIADO, ASSIM, # EM SEGUIDA ELE VAI VERIFICAR SE O CAMPO NÃO ESTÁ # VAZIO E APRESENTAR O CÓDIGO, CASO CONTRARIO, # MOSTRA O ERRO. # VERIFICA SE ALGO FOI ENVIADO PELO METHOD POST if ( $_POST ) { # VERIFICA SE O CAMPO CODIGO NÃO ESTÁ VAZIO if ( ! empty ( $_POST [ 'codigo' ] ) ) { echo "Código: " . $_POST [ 'codigo' ]; } else { echo "Erro, preencha todos os campos!"; } } ?> <!DOCTYPE html> <html> <head> <title> TESTE </title> </head> <body> <form class="form" method="post" action="#"> <label>Código: </label> <input type="text" name="codigo" placeholder="Digite o Código" /> <br /> <input type="submit" value="Pesquisar" /> </form> </body> </html> Guia: Funções de Manipulação de Variáveis Caro Amigo, agradeço sua ajuda, foi de suma importância para mim. Agora esta funcionado como quero. Só tenho que ver agora o designer ,mas ficou como eu queria. caso queira ver esta em www.djrobertooliveira.com.br/microworld Veja como ficou o código abaixo: <?php include_once "conexao.php"; ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <title>CRUD - Pesquisar</title> </head> <body> <form method="POST" action=""> <label>Código: </label> <input type="text" name="nome" placeholder="Digite o código" required><br><br> <input name="SendPesqUser" type="submit" value="Pesquisar"> </form><br><br> <?php $SendPesqUser = filter_input(INPUT_POST, 'SendPesqUser', FILTER_SANITIZE_STRING); if($SendPesqUser){ $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING); $result_usuario = "SELECT * FROM tbcadastros WHERE codigo LIKE '%$nome%'"; $resultado_usuario = mysqli_query($conn, $result_usuario); while($row_usuario = mysqli_fetch_assoc($resultado_usuario)){ echo "Codigo: " . $row_usuario['codigo'] . "<br>"; echo "Nome: " . $row_usuario['nome'] . "<br>"; echo "Historico: " . $row_usuario['historico'] . "<br>"; } } ?> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
ShadowDLL 2 Denunciar post Postado Abril 8, 2019 A disposição ;) Compartilhar este post Link para o post Compartilhar em outros sites