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

Como editar dados de um formulário


vfelipe364

Pergunta

Não estou conseguindo atualizar os dados da minha tabela já tentei de tudo mais não vai se vôces puderem dar uma olhada e me falar no que errei agradeço

Código Consulta:

<html>
<head>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.0/css/materialize.min.css">
  <link rel="stylesheet" href="css/consulta.css"/>
  <link rel="stylesheet" href="css/style.css"/>
  <meta charset="UTF-8"/>
  <title>
      Resultado Da Pesquisa
  </title>
  <style>
    body{
        color: #000;
    }
  </style>
</head>
<body>
<div class="conteudo">

  <?php
  //Criando tabela e cabeçalho de dados:
  echo "<table class = bordered striped centered highlight responsive-table>";
  echo "<thead>";
  echo "<tr>";
  echo "<th><font color='#F60'>Matricula</font></th>";
  echo "<th><font color='#F60'>Nome</font></th>";
  echo "<th><font color='#F60'>Email</font></th>";
  echo "<th><font color='#F60'>Data De Nascimento</font></th>";
  echo "<th><font color='#F60'>Telefone</font></th>";
  echo "<th><font color='#F60'>Curso</font></th>";
  echo "</tr>";
  echo "</thead>";

  //Conectando ao banco de dados
  $StringConexao = mysqli_connect('localhost','root','','BD_TrioFelipeCaioKristhyan')
  or die("Erro ao conectar ao BD_TrioFelipeCaioKristhyan");
  $sql = "SELECT * FROM TbCadastro";
  $resultado = mysqli_query($StringConexao, $sql)  or die("Erro ao encontrar a tabela TbCadastro");

  //Obtendo os dados por meio de um loop while
  while ($registro = mysqli_fetch_array($resultado)) {
      $matricula = $registro['matricula'];
      $nomeAluno = $registro['nome'];
      $email = $registro['email'];
      $nascimento = $registro['nascimento'];
      $telefone = $registro['telefone'];
      $curso = $registro['curso'];

      echo "<tr>";
      echo "<td>".$matricula."</td>";
      echo "<td>".$nomeAluno."</td>";
      echo "<td>".$email."</td>";
      echo "<td>".$nascimento."</td>";
      echo "<td>".$telefone."</td>";
      echo "<td>".$curso."</td>";
      echo "<td><a href=Deletar.php?matricula=".$matricula."><button class=btn_tabela> Deletar </button></a></td>";
      echo "<td><a href=Atualizar.php?matricula=".$matricula."><button class=btn_tabela> Atualizar </button></a></td>";
  }

  mysqli_close($StringConexao);

  echo "</table>";
  ?> 

  <br>

  <main>
    <center>
        <a href="Cadastrar.php" class="botao">Voltar</a>
    <center>
  </main>

</div>
</body>
</html>

Código Atualizar:

<html>
<head>
  <link rel="stylesheet" href="css/estilos.css"/>
  <link rel="stylesheet" href="css/style.css"/>
  <meta charset="UTF-8"/>
  <title>
      Trabalhando Com Conexão Ao Banco De Dados Felipe Vieira, Caio Leonardo e Kristhyan Carvalho
  </title>
  
  <?php
    $matricula = filter_input(INPUT_GET,"matricula");
    $nome = filter_input(INPUT_GET,"nome");
    $email = filter_input(INPUT_GET,"email");
    $nascimento = filter_input(INPUT_GET,"nascimento");
    $telefone = filter_input(INPUT_GET,"telefone");
    $curso = filter_input(INPUT_GET,"curso");
  ?>
  
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  <script src="//cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.min.js"></script>
  
  <style>
    body{
        color: #000;
    }
  </style>
</head>
<body>
    <div class="conteudo">
        <h3><b> <span style="color: #F60;">Atualizar Cadastro</span> </b></h3>
        <form action = "Alterar.php">
            Matricula: <input type = "text" name = "Matri" size = "10" value = "<?php echo $matricula ?>"><br><br>

            Nome: <input type = "text" name = "NomeAluno" size = "45" value = "<?php echo $nome ?>"><br><br>

            Email: <input type = "email" name = "Email" size="45" value = "<?php echo $email ?>"><br><br>

            Data De Nascimento: <input type = "date" placeholder = "DD/MM/AAAA" name = "nascimento" value = "<?php echo $nascimento ?>"><br><br>

            Telefone: <input type = "text" maxlength = "15" id="telefone" name = "Telefone" value = "<?php echo $telefone ?>"><br><br>

            Curso: 
            <select name="Curso">
                <option value = "DS">Desenvolvimento De Sistemas</option>
                <option value = "ADM">Administração</option>
                <option value = "NUTRI">Nutrição</option>
                <option value = "RH">Recursos Humanos</option>
                <option value = "QUÍM">Química</option>
            </select>
            
            <main>
                <input type = "submit" name = "enviar" class="botao" value = "Enviar">
                <a href="Consulta.php" class="botao">Voltar</a>
            </main>

            <!-- <input type = "submit" name = "enviar" value = "Enviar"> -->

            <script>
                $(document).ready(function(){
                    $("#telefone").mask("(99) 99999-9999");
                });
            </script>
        </form>
    </div>
</body>
</html>

Código Alterar:

<?php
$matricula = filter_input(INPUT_GET, "matricula");
$nome = filter_input(INPUT_GET, "nome");
$email = filter_input(INPUT_GET, "email");
$nascimento = filter_input(INPUT_GET, "nascimento");
$telefone = filter_input(INPUT_GET, "telefone");
$curso = filter_input(INPUT_GET, "curso");

$StringConexao = mysqli_connect('localhost','root','','BD_TrioFelipeCaioKristhyan');

if($StringConexao){
    $query = mysqli_query($StringConexao, "update TbCadastro set nome='$nome', email='$email', nascimento='$nascimento', telefone='$telefone', curso='$curso' where matricula='$matricula';");
    
    if($query){
        header("Location: Cadastrar.php");
    }else{
        die("Erro: ".mysqli_error($StringConexao));
    }
    
}else{
    die("Erro: ".mysql_error($StringConexao));
}
?>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Ao invés de fazer um arquivo para cada rotina, eu coloquei a rotina de atualização e confirmação no código principal.

astudy.php

<style>
    body {color:#00a;width:90%;margin:0 auto}
    input {display:block;height: 22px;border: 1px solid #ccc;
      border-radius: 4px;padding: 4px 10px;}
</style>
<script>
    const handlePhone = (event) => {let input = event.target;
       input.value = phoneMask(input.value)}
    const phoneMask = (value) => {if (!value) return ""
    value = value.replace(/\D/g,'')
    value = value.replace(/(\d{2})(\d)/,"($1) $2")
    value = value.replace(/(\d)(\d{4})$/,"$1-$2")
    return value}
    function alerta(){alert("rotina em andamento")}
</script>
<div style=height:5%></div>
<?php
$mysqli=new mysqli("localhost","root","","astudy");
if(isset($_GET['mat'])){
    $matricula = filter_input(INPUT_GET,"mat");
    $query=$mysqli->query("select * from tbcadastro 
		where id=$matricula");
    $row=$query->fetch_assoc();
    echo "
    <h3 style=color:#F60>Atualizar Cadastro</h3>
    <form>
        <table>
        <tr><td>Matricula:<td><input size=10 value=".$row['id']." disabled>
        <input type=hidden name=matricula value=".$row['id'].">
        <tr><td>Nome:<td><input name=nome size=45 value='".$row['nome']."'>
        <tr><td>Email:<td><input type=email name=email size=45 value=".$row['email'].">
        <tr><td>Data De Nascimento:<td><input type=date name= nascimento value=".$row['nascimento'].">
        <tr><td>Telefone:<td>
            <input type=tel maxlength=15 onkeyup=handlePhone(event) name=telefone value='".$row['telefone']."'>
        <tr><td>Curso:<td><select name=curso><option>".$row['curso']."</option>
        <option>Desenvolvimento De Sistemas</option>
        <option>Administração</option>
        <option>Nutrição</option>
        <option>Recursos Humanos</option>
        <option>Química</option>
        </select>
        <tr><td><input type=submit>
        <tr><td>
    </table></form> 
    <button onclick=location.replace('astudy.php')>Voltar</button>";
    exit;}
if(isset($_GET['matricula'])){
    $matricula = filter_input(INPUT_GET, "matricula");
    $nome = filter_input(INPUT_GET, "nome");
    $email = filter_input(INPUT_GET, "email");
    $nascimento = filter_input(INPUT_GET, "nascimento");
    $telefone = filter_input(INPUT_GET, "telefone");
    $curso = filter_input(INPUT_GET, "curso");
    $query = $mysqli->query("update tbcadastro set nome='$nome', email='$email', 
        nascimento='$nascimento', telefone='$telefone', curso='$curso' where id='$matricula'");
    echo "update tbcadastro set nome='$nome', email='$email', 
    nascimento='$nascimento', telefone='$telefone', curso='$curso' where id='$matricula'<br>";
    if(mysqli_affected_rows($mysqli)){header('location:astudy.php');}else{
        echo "problema: não deu <br>";
        echo "<input type=submit value=voltar onclick=location.replace('astudy.php')>";
        exit;}
} ?>
<table><tr style=color:#F60><th>Matrícula<th>Nome<th>Email<th>Nascimento
  <th>Telefone<th>Curso<th><th><button onclick=alerta()>Voltar</button>
<?php
$query=$mysqli->query("select * from tbcadastro");
while ($row=$query->fetch_assoc()) {
    $matricula=$row['id'];
    $nascimento=date('d/m/Y',strtotime($row['nascimento']));
    echo "<tr><td>$matricula<td>".$row['nome']."<td>".$row['email']."<td>$nascimento";
    echo "<td>".$row['telefone']."<td>".$row['curso'];
    echo "<td><button onclick=alerta()>Deletar</button>";
    echo "<td><button onclick=location.replace('?mat=$matricula')>Atualizar</button>";
}
echo "</table>";

A estrutura da tabela no MySQL é essa:

CREATE TABLE `tbcadastro` (
  `id` int NOT NULL AUTO_INCREMENT,
  `nome` varchar(45) COLLATE utf8mb4_general_ci NOT NULL,
  `email` varchar(42) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `nascimento` date DEFAULT NULL,
  `telefone` varchar(45) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `curso` varchar(45) COLLATE utf8mb4_general_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

 

Editado por Frank K Hosaka
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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...