Ir para conteúdo

POWERED BY:

Arquivado

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

DjRobertoSC

Pesquisar registro banco de dados SQL

Recommended Posts

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

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

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

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

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
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

×

Informação importante

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