Ir ao conteúdo

Posts recomendados

Postado

Olá, estou com um problema, eu tenho um código incompleto de registro, update, leitura e remoção de  dados (CRUD), o código já faz tudo isso, mas o que acontece é o seguinte, quando eu clico em update ele mostra as inputs,

Nome:

Cep:

Etc...

assim em branco eu quero que elas já venham preenchidas com os valores antigos do meu Banco entenderam assim eu só precisaria editar o que eu quero e não reescrever tudo. obrigado segue o código abaixo.

			<form action="editar.php" method="POST">
			<table class="table table-striped">
				<thead>
				<tr>
					<th>Cpf Novo</th>
					<th>Nome Novo</th>
					<th>Cep Novo</th>
					<th>Rua Novo</th>
					<th>Bairro Novo</th>
					<th>Cidade Novo</th>
					<th>Estado Novo</th>
					<th>Ibge Novo</th>
					</tr>
				</thead>
				
			<tbody>
			<tr>
				<td><input type="text" onclick="" class="form-control input-sm" id="cpf" name="cpf" required><br></td>
			
				<td><input type="text" class="form-control input-sm " name="nom" required><br></td>
				
				<td><input type="text" class="form-control input-sm" id="cep" name="end" required><br></td>
				
        		<td><input name="rua" class="form-control input-sm" type="text" id="rua" required /><br></td>
        		
        		<td><input name="bairro" class="form-control input-sm" type="text" id="bairro" required/><br></td>
        		
        		<td><input name="cidade" class="form-control input-sm" type="text" id="cidade" required/><br></td>
        		
        		<td><input name="uf" class="form-control input-sm" type="text" id="uf" required/><br></td>
        	
        		<td><input name="ibge" class="form-control input-sm" type="text" id="ibge" required/><br></td>
        	</tr>
        	</tbody>
        	</table>
				<br><input type="submit" class="btn btn-default"><input type="button" class="btn btn-warning" value="Voltar"
onclick="window.location='/Banco_de_dados/index.php';" />
			</form>
<?php
//declarando variaveis//
	$servername = 'localhost';
	$username = 'root';
	$password = '';
	$dbname = 'meubd';
	$nome = $_POST['nom'];
	$cpf = $_POST['cpf'];
	$cep = $_POST['end'];
	$rua = $_POST['rua'];
	$bairro = $_POST['bairro'];
	$cidade = $_POST['cidade'];
	$uf = $_POST['uf'];
	$ibge = $_POST['ibge'];

//conectando ao banco de dados//verificando conexão//
	$conn = new mysqli($servername, $username, $password, $dbname);
	if ($conn->connect_error) {
		die("Conecxão Falhou: " . $conn->connect_error);
	}
	
	echo "Conexao foi um sucesso";


//Atualizar pesssoas set coluna valor atualizado onde cpf da pessoa//

	$sql = "UPDATE pessoas SET 
	nome = '$nome',
	cep = '$cep',
	rua =  '$rua',
	bairro = '$bairro' ,
	cidade = '$cidade',
	estado = '$uf',
	ibge = '$ibge'
	
	
	WHERE cpf = '$cpf'";
//Verificando se a atuaçização deu certo//
	if (mysqli_query($conn, $sql)) {
	    echo "Atualizacao de dados foi um sucesso";
	} else {
	    echo "Erro ao atualizar dados: " . mysqli_error($conn);
	}
//fechando conexão//
	mysqli_close($conn);
?>

 

  • Moderador
  • Solução
Postado

@João Pedro Moreira Você precisa inserir os valores no input usando o value.

 

Mas, antes disso no seu link de edição você precisa enviar por GET o valor ID do registro, fazer a consulta para trazer os dados e aí sim inseri-los nos inputs.

 

exemplo simples:

 <table>
      <tr>
        <th>Nome</th>
        <th>Sobrenome</th>
        <th>Editar</th>
      </tr>
<?php
	include 'conexao.php';
	$select = mysqli_query($conexao, "SELECT * FROM usuario");
    while($usuario = mysqli_fetch_object($select):

echo"
   
      <tr>
        <td>$usuario->nome</td>
        <td>$usuario->sobrenome</td>
        <td><a href='editar.php?id=$usuario->id'<img src='edit.png'/></td>
      </tr>";
    
 endwhile; 
 ?>
 </table>
    

Este é o primeiro passo. Passar por GET o ID dos registros no link de editar.

Agora no editar.php

 

<?php
  $id = GET['id'];

  include 'conexao.php';
	$select = mysqli_query($conexao, "SELECT * FROM usuario where id = $id");
    while($usuario = mysqli_fetch_object($select):
		echo "
               <input type='text' name='nome' value='$usuario->nome' />
            ";
   endwhile;

Bom só fiz uma parte ali para mostrar mesmo onde se coloca o value.  claro que precisa melhorar e adaptar. copiar e colar não vai funcionar.

Mas isso já é o suficiente para você fazer o que quer.

  • Moderador
Postado

@João Pedro Moreira Dá syntax error porque certamente escreveu alguma coisa errada ou faltou algo.

Só dessa maneira vais conseguir trazer os dados dentro do formulário. Não há outro meio.

Em suma,  tem que fazer uma consulta antes trazer todos os dados para apresentar na tabela. Passar por GET o valor ID do registro que vai querer editar para página de edição. Lá você recebe o valor do GET para usar na consulta colocando no where id = valor do GET.

 

Depois é feita uma nova consulta e lá você recria seu formulário de novo inserindo os dados com o value.

 

Então a estrutura de arquivos seria algo semelhante a isto:

exibir.php
   |-tabela com os dados e a ação de editar e deletar
                                        |-editar.php
                                              |-recebe o valor id do GET
                                              |-formulário com os dados preenchidos
                                                    |-confirmaEdicao.php onde recebe os dados envidados deste formulário e atualiza a tabela do BD

Este é o jeito fácil. O jeito difícil é adaptar o ajax(requisição assíncrona)

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...