Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

mostrar datos formulario

30 de noviembre de 2017

Hola, soy nuevo en este foro. Tengo una página donde muestro los registros de una base de datos mysql con los botones en cada registro (editar y eliminar). Al darle a uno de esos botones me lleva a una página de formulario donde deberían aparecer los datos de ese registro, pero me aparecen vacíos. A continuación pongo el código de las dos páginas. INDEX.PHP:

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Articulos</title>
   <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
   <?php
      function conectar(){
         $con=mysqli_connect("localhost","root","","dam2d");
         return $con;
      }
      function desconectar(){
         mysqli_close(conectar());
      }
      if(conectar()->connect_error){
         die('Error de conexion: '.conectar()->connect_error);
      }else{
         $sql="SELECT * FROM articulos";
         $resul=mysqli_query(conectar(),$sql);
         echo "<table class='table' border='1'>";
         while($linea=mysqli_fetch_array($resul)){
            echo "<tr><td colspan='6' align='center'><b>ARTICULOS</b></td></tr>";
            echo "<tr><th>ID</th><th>Nombre</th><th>Precio</th><th>Fecha Alta</th><th>Acciones</th></tr>";
            echo "<tr>";
            echo "<td>",$linea['id'],"</td>";
            echo "<td>",$linea['nombre'],"</td>";
            echo "<td>",$linea['precio'],"</td>";
            echo "<td>",$linea['fechaalta'],"</td>";
            $id=$linea['id'];
            //echo $id;?>
            <form action='editar.php' method='post'>
            <input type='hidden' name='id' value='<?php $id ?>'>
            <?php
            echo "<td><a class='btn btn-warning' href='editar.php?id=".$id."'>EDITAR</a>"."&nbsp";
            echo "<a class='btn btn-danger' href='eliminar.php?id='".$id."''>ELIMINAR</a></td>";
            echo "</form>";
            echo "</tr>";
         }
      }
      desconectar();
   ?>
</body>
</html>
EDITAR.PHP:
```php
<!DOCTYPE html>
<html lang="en">
<head>
   <title>Editar Articulo</title>
   <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
   <?php
      conectar();
      $id=isset($_POST['id']) ? $_POST['id'] : '';
      $nom=isset($_POST['nombre']) ? $_POST['nombra'] : '';
      $precio=isset($_POST['precio']) ? $_POST['precio'] : '';
      $fecha=isset($_POST['fechaalta']) ? $_POST['fechaalta'] : '';
   ?>
   <div class='container'>
      <div class='jumbotron'>
         <h1>Editar Articulo</h1>
         <p>Introduce todos los datos para editar un articulo en la base de datos.</p>
      </div>
      <form name='formularioeditar' action='index.php' method='post'>
      <div class='form-group'>
         <label for='id'>Introduce el id del articulo:</label>
         <input type='number' class='form-control' placeholder='Introduce el id' name='id' value="<?php echo $id ?>"><br>
         <label for='id'>Introduce el nombre de articulo:</label>
         <input type='text' class='form-control' placeholder='Introduce el nombre' name='nombre' value="<?php echo $nom ?>" size=30><br>
         <label for='precio'>Introduce el precio del articulo:</label>
         <input type='decimal' class='form-control' placeholder='Introduce el precio' name='precio' value="<?php echo $precio ?>"><br>
         <label for='fechaalta'>Introduce la fecha de alta del articulo:</label>
         <input type='date' class='form-control' placeholder='Introduce la fecha de alta' name='fechaalta' value="<?php echo $fecha ?>"><br>
      </div>
      <div class='botons-group'>
         <input type='submit' name='editar' value='EDITAR'>
         <input type='submit' name='volver' value='VOLVER'>
      </div>
      </form>
   </div>
   <?php
      function conectar(){
         $con=mysqli_connect("localhost","root","","dam2d");
         return $con;
      }
      function desconectar(){
         mysqli_close(conectar());
      }
      function editar(){
         $id=$_POST['id'];
         $nombre=$_POST['nombre'];
         $precio=$_POST['precio'];
         $fecha=$_POST_['fechaalta'];
         $esta=false;
         if(conectar()->connect_error){
            die('Error de conexion: '.conectar()->connect_error);
         }else{
            $sql="SELECT * FROM articulos WHERE id=".$id."";
            $resul=mysqli_query(conectar(),$sql);
            while($linea=mysqli_fetch_array($resul)){
               $esta=true;
            }
            if($esta==false){
               echo "No existe ningún articulo con el id ".$id;
            }
            if(!mysqli_query(conectar(),"UPDATE articulos SET nombre='".$nom."',precio='".$precio."',fechaalta='".$fecha."' WHERE id=".$id."")){
               echo "No se ha actualizado el articulo!".mysqli_error(conectar());
            }else{
               echo "Articulo actualizado!";
            }
         }
      }
      if(isset($_POST['editar'])){
         editar();
      }
      if(isset($_POST['volver'])){
         header('Location:index.php');
      }
      desconectar();
   ?>
</body>
</html>