Curso App Minimarket con lector QR
¿Cómo generar un código QR con información de un producto en PHP?
Para generar un QR hacemos uso de la librería PHPQRCODE en nuestro proyecto, e indicaremos el valor que guardará el QR creando una imagen para usarla.
Para generar un QR hacemos uso de la librería PHPQRCODE en nuestro proyecto, e indicaremos el valor que guardará el QR creando una imagen para usarla.
<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){
/// qr
require_once "procesos/phpqrcode/qrlib.php";
$id = $user->lastInsertId();
QRcode::png($id,"img/qr/".$id.".png","L",10,5);
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>
1158 visitas
« Capítulo 6 – CRUD producto
Capítulo 8 – API Rest »
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024