Estoy creando una pagina en php conectada a una base de datos mysql.
En esa pagina muestro los registros de la bbdd y dos botones por cada registro (editar y eliminar) para que al darle a uno me vaya a una pagina en el que, en el formulario me aparezcan los datos del registro que he seleccionado.
El problema es que me aparece la página con los registros en blanco, sin datos del objeto que quiero mostrar.
A continuación pongo el código de las dos páginas.
INDEX.PHP:
Código:
<!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>"." ";
echo "<a class='btn btn-danger' href='eliminar.php?id='".$id."''>ELIMINAR</a></td>";
echo "</form>";
echo "</tr>";
}
}
desconectar();
?>
</body>
</html>
Código:
<!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>