Curso App Minimarket con lector QR
¿Cómo programar un CRUD para productos en PHP y MySql?
Para desarrollar un CRUD productos con una relación de uno a varios a categoria, debemos guardar la relación en categoria_id: Listar, Crear, Editar y Borra
Para desarrollar un CRUD productos con una relación de uno a varios a categoria, debemos guardar la relación en categoria_id: Listar, Crear, Editar y Borra
<div class="row">
<?php require "menu.php" ?>
<div class="col-sm-9">
<h1> PRODUCTOS</h1>
<?php
$accion = (isset($_GET['accion'])) ? $_GET['accion'] : "listar";
switch($accion){
case "listar":
?>
<a href="<?php urlsite ?>?page=productos&accion=crear" class="btn btn-success">CREAR</a>
<table class="table">
<thead>
<th>ID</th>
<th>NOMBRE</th>
<th>IMAGEN</th>
<th>QR</th>
<th>ACCIÓN</th>
</thead>
<tbody>
<?php
$u= $user->buscar("products","1");
foreach($u as $r){
?>
<tr>
<td><?php echo $r['id'] ?></td>
<td><?php echo $r['nombre'] ?></td>
<td><img src="img/<?php echo $r['imagen'] ?>" width="200"></td>
<td><img src="img/qr/<?php echo $r['id'] ?>.png" width="200"></td>
<td>
<a href="<?php urlsite ?>?page=productos&accion=editar&id=<?php echo $r['id'] ?>" class="btn btn-success">EDITAR</a>
<a href="<?php urlsite ?>?page=productos&accion=borrar&id=<?php echo $r['id'] ?>" class="btn btn-success">ELIMINAR</a>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
<?php
break;
case "crear":
if(isset($_POST['btncrear'])){
// subir imagen
$imagen = $_FILES['imagen']['name'];
if(move_uploaded_file($_FILES['imagen']['tmp_name'],'img/'.$imagen))
mensaje("Imagen subida");
else
mensaje("Error en subida de imagen");
$data = "'".$_POST['nombre']."','".$_POST['descripcion']."',".$_POST['precio'].",".$_POST['stock'].",'".$imagen."',0,'".$_POST['categoria_id']."',0";
$u = $user->insertar("products",$data);
if($u){
mensaje("<div class='alert alert-success'> PRODUCTO CREADO </div>");
}else{
mensaje("<div class='alert alert-danger'> PRODUCTO NO CREADO </div>");
}
}else{
?>
<form action="" method="post" enctype="multipart/form-data">
<div class="mb-3">
<input type="text" name="nombre" placeholder="NOMBRE:" class="form-control" required>
</div>
<div class="mb-3">
<textarea name="descripcion" placeholder="DESCRIPCIÓN:" class="form-control" required></textarea>
</div>
<div class="mb-3">
<input type="text" name="precio" placeholder="Precio:" class="form-control" required>
</div>
<div class="mb-3">
<input type="text" name="stock" placeholder="Stock:" class="form-control" required>
</div>
<div class="mb-3">
<input type="file" name="imagen" class="form-control" required>
</div>
<div class="mb-3">
<select name="categoria_id" class="form-control">
<?php $c = $user->buscar("categories","1"); ?>
<?php foreach($c as $ca): ?>
<option value="<?php echo $ca['id'] ?>"><?php echo $ca['nombre'] ?></option>
<?php endforeach ?>
</select>
</div>
<div class="mb-3">
<input type="submit" name="btncrear" value="CREAR" class="btn btn-success">
</div>
<input type="hidden" name="page" value="productos">
<input type="hidden" name="accion" value="crear">
</form>
<?php
}
break;
case "editar":
if(isset($_POST['btneditar'])){
$imagen = "";
if(isset($_FILES['imagen'])){
if(move_uploaded_file($_FILES['imagen']['tmp_name'],'img/'.$_FILES['imagen']['name'])){
$imagen = ",imagen='".$_FILES['imagen']['name']."'";
mensaje("Imagen subida");
}
else
mensaje("Error en subida de imagen");
}
$data = "nombre='".$_POST['nombre']."',descripcion='".$_POST['descripcion']."',precio=".$_POST['precio'].",stock=".$_POST['stock'].$imagen;
$u = $user->actualizar("products",$data, "id=".$_POST['id']);
if($u){
mensaje("<div class='alert alert-success'> PRODUCTO ACTUALIZADO </div>");
}else{
mensaje("<div class='alert alert-danger'> PRODUCTO NO ACTUALIZADO </div>");
}
}else{
$u= $user->buscar("products","id=".$_GET['id']);
foreach($u as $r){
?>
<form action="" method="post" enctype="multipart/form-data">
<div class="mb-3">
<input type="text" name="nombre" value="<?php echo $r['nombre'] ?>" required>
</div>
<div class="mb-3">
<textarea name="descripcion" class="form-control" required><?php echo $r['descripcion']?></textarea>
</div>
<div class="mb-3">
<input type="text" name="precio" value="<?php echo $r['precio'] ?>" class="form-control" required>
</div>
<div class="mb-3">
<input type="text" name="stock" value="<?php echo $r['stock'] ?>" class="form-control" required>
</div>
<div class="mb-3">
<img src="img/<?php echo $r['imagen'] ?>" width="300">
</div>
<div class="mb-3">
<input type="file" name="imagen" class="form-control">
</div>
<div class="mb-3">
<input type="submit" name="btneditar" value="EDITAR" class="btn btn-success">
</div>
<input type="hidden" name="page" value="productos">
<input type="hidden" name="accion" value="editar">
<input type="hidden" name="id" value="<?php echo $r['id'] ?>">
</form>
<?php
}
}
break;
case "borrar":
if(isset($_GET['id'])){
$u = $user->borrar("products","id=".$_GET['id']);
if($u){
mensaje("<div class='alert alert-success'> PRODUCTO ELIMINADO </div>");
}else{
mensaje("<div class='alert alert-danger'> PRODUCTO NO ELIMINADO </div>");
}
}
break;
}
?>
</div>
</div>
1241 visitas
« Capítulo 5 – CRUD categoria
Capítulo 7 – Generar el Código QR »
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024