Error al actualizar datos de una tabla mysql

1. He creado un programa php para mostrar todos los registros con todos los campos de una tabla, y he agregado dos hipervínculos para Editar y Eliminar. Esta parte ya la está haciendo en forma exitosa.

2. Al hacer click en Editar, se abre el programa editar.php, recibiendo el valor de la matricular del alumno del renglón seleccionada, y después ejecuta una consulta para mostrar los datos sólo de ese alumno en un nuevo formulario. Esta parte también ya funciona sin problemas.

3. Ahora quiero que en el formulario que se muestra en editar, el usuario sea capaz de cambiar valores y cuando presione el botón Actualizar, que es un input type="submit", abra el programa Actualizar.php y ejecute el update para actualizar los datos de ese alumno. Esta es la parte que no me funciona. Al parecer, al hacer click se vuelve a llamar a sí mismo, es decir, vuelve a mostrar editar.php, y nunca abre actualizar.php.

Adjunto mi código, ojala puedas ayudarme. Espero no marearte con tanto código. Muchas gracias.

Gaby.

_____________________________________________________________________________________________

Editar.php:

¿

<?php
    // Conectar a la base de datos
    $enlace = mysql_connect("localhost", "usuario3c","contra");
    if (!$enlace) {
            die("No se pudo conectar : " . Mysql_error());
      }
    else{
        echo "<br>Conexión exitosa al servidor";
    }
   // Hacer que bd3b2015 sea la base de datos actual
   $bd_seleccionada = mysql_select_db("bd3c2015", $enlace);
   if (!$bd_seleccionada) {
      die ("No se puede usar bd3c2015 : " . Mysql_error());
    }
   else {
       echo "<br>Conexión exitosa a la base de datos: bd3c2015";
   }
   // Consulta a la tabla alumnos
   $matric = $_GET['mat'];
   echo $matric;
   $sql = "SELECT *  FROM alumnos2 WHERE matricula = $matric";
   $resultado = mysql_query($sql,  $enlace);
   $renglon=mysql_fetch_array($resultado);
?>   
     <form name='edicion' action='actualizar.php' method='post'>
       <p>
         <label for='matricula'>Matr&iacute;cula:</label>
         <input  type='text' name='fmatricula' value="<?echo $renglon['matricula'];?>" />
         <label for='nombre'><br />
           Nombre:</label>
         <input  type='text' name='fnombre' value="<?echo $renglon['nombre'];?>" />
         <label for='apat'><br />
           Apellido Paterno:</label>
         <input  type='text' name='fpaterno' value="<?echo $renglon['paterno'];?>" />
         <label for='amat'><br />
           Apellido Materno:</label>
         <input  type='text' name='fmaterno' value="<?echo $renglon['materno'];?>" />     
         <label for='cuat'><br />
           Cuatrimestre:</label>
         <input  type='text' name='fcuat' value="<?echo $renglon['cuat'];?>" />
         <label for='grupo'><br />
           Grupo:</label>
         <input  type='text' name='fgrupo' value="<?echo $renglon['grupo'];?>" />
       </p>
       <p>
         <label for='prepa'>Bachillerato de procedencia:</label>
         <input  type='text' name='prepa' value="<?echo $renglon['prepa'];?>" />     
       </p>
       <p>
         <input name="actualizar" type="submit" value="Actualizar" />
       </p>
   </form>
</body>
_____________________________________________________________________________________________

Actualizar.php:

<?php
    // Conectar a la base de datos
    $enlace = conectar();
    $vmatricula = $_POST['fmatricula'];
    $vnombre = $_POST["fnombre"];
    $vpaterno = $_POST["fpaterno"];
    $vmaterno = $_POST["fmaterno"];
    $vprepa = $_POST["fprepa"];
    $vcuat = $_POST["fcuat"];
    $vgrupo = $_POST["fgrupo"];
   // Actualización de los datos
   $sql = "UPDATE alumnos SET nombre = '$vnombre', paterno = '$vpaterno, materno = '$vmaterno, prepa ='$vprepa, cuat='$vcuat', grupo ='$vgrupo' WHERE matricula = '$vmatricula'";
   $resultado = mysql_query($sql,  $enlace);
   if ($resultado)
     echo "Registro Actualizado";
   else
    echo "Error al actualizar datos del registro" . Mysql_error();
  mysql_close();
?>   
</body>
</html>

1 respuesta

Respuesta
1

Si quieres ver que realmente está yendo a Actualizar.php o actualizar.php, entonces haz un echo al inicio de éste. Por ejemplo, que diga: echo "Estoy en actualizar". Así podrás comprobar que el submit te está llevando allí. Por otro lado, comprueba que estás debidamente conectada la base de datos, que los nombres de los archivos están igual que en el tag </form>. Fuera de todo ello, te aconsejo que uses PDO para hacer la conexión, y las consultas ya sea con objetos o un array.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas