AJAX - ¿Como imprimo el Codigo QR?

 
Vista:
sin imagen de perfil

¿Como imprimo el Codigo QR?

Publicado por Georgina (1 intervención) el 15/04/2022 18:55:05
Saludos a todos!!

Estoy desarrollando un sistema de facturación y digamos que llevo el 85% desarrollado, pero tengo un temita con el Codigo QR, ya que el mismo se me esta generando y guarda el PNG en el directorio y todo, pero quiero mostrarlo en la factura que se genera al momento de procesar una venta, he recolectado varias respuestas de internet y he tratado de hacerlo, pero solo me genera el QR y lo aloja en el directorio, mas no me lo muestra en el ticket de facturación (que es como debe de ser) No se si ustedes me pueden dar una mano, les adjunto el codigo con su respectiva explicación para que nos vayamos entendiendo que es lo que se quiere. Estoy desarrollando en jQuery, HTML, CSS, PHP

GenerarQR.php
<?php


//*Conexion a base de datos *//

$conexion = mysqli_connect("localhost", "root", "", "ventas");

$codigosqr = mysqli_query($conexion, "SELECT nofactura, fecha, usuario, codcliente, totalfactura, estatus FROM factura ORDER BY nofactura DESC LIMIT 1");

$response = array();

//*Generando el codigo QR *//
require 'phpqrcode/qrlib.php';

$directorio = '';

//*Si no existe la carpeta *//

$filename = $directorio.'test.png';


//*El bucle y el envio del correo *//

while ($row = mysqli_fetch_array($codigosqr))
{

$filename = $directorio. "".$row['nofactura'].'.png';

$archivo = $filename;

$contenido = "No° Factura: {$row['nofactura']}, Fecha de Emisión: {$row['fecha']}, Vendedor/a:{$row['usuario']}, Su Codigo Cliente: {$row['codcliente']}, Total: {$row['totalfactura']}, Estatus de la Factura: {$row['estatus']}";

QRCode::png($contenido, $filename);

echo '<img src ="'.$directorio.basename($filename).'"/><hr/>';

echo $archivo;

$response = array();



}

?>

Este es el codigo para la generación del QR, el cual esta funcionando perfecto, el genera y almacena los datos de la última factura que se proceso, campos como el número de la factura, la fecha de emisión, quien es el o la vendedora, codigo del cliente, entre otros campos, es lo que guarda dicho QR. Por esa parte, vamos bien, si me lo genera y almacena tal y como quiero, pero...

Factura_Plantilla.php

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Factura</title>
<link rel="stylesheet" href="css/factura.css">
</head>
<body>
<img class="anulada" src="img/anulado.png" alt="Anulada">
<div id="page_pdf">
<table id="factura_head">
<tr>
<td class="logo_factura">
<div>
<img src="img/logo.png">
</div>


<div class = "CodigoQR">

<img src="../test.png">

</div>




</td>
<td class="info_empresa">
<div>
<span class="h2">SISTEMA VENTAS XXXXXXXXX</span>
<p>XXXXXXX</p>
<p>Teléfono: XXXXXXXX</p>
<p>Email: XXXXX</p>
</div>
</td>
<td class="info_factura">
<div class="round">
<span class="h3">XXXXXX</span>
<p>No. Factura: <strong>XXXXXX</strong></p>
<p>Fecha: XXXXXX</p>
<p>Hora: XXXX</p>
<p>Vendedor: XXXXXX</p>
</div>
</td>
</tr>
</table>
<table id="factura_cliente">
<tr>
<td class="info_cliente">
<div class="round">
<span class="h3">Cliente</span>
<table class="datos_cliente">
<tr>
<td><label>Identificación:</label><p>xXXXXXXXXX</p></td>
<td><label>Teléfono:</label>xXXXXXXXXX<p></p></td>
</tr>
<tr>
<td><label>Nombre:</label> <p>xXXXXXXXXX</p></td>
<td><label>Dirección:</label> xXXXXXXXXX<p></p></td>
</tr>
</table>
</div>
</td>

</tr>
</table>

<table id="factura_detalle">
<thead>
<tr>
<th width="50px">Cant.</th>
<th class="textleft">Descripción</th>
<th class="textright" width="150px">Precio Unitario.</th>
<th class="textright" width="150px"> Precio Total</th>
</tr>
</thead>
<tbody id="detalle_productos">
<tr>
<td class="textcenter">1</td>
<td>Plancha</td>
<td class="textright">516.67</td>
<td class="textright">516.67</td>
</tr>
<tr>
<td class="textcenter">1</td>
<td>Plancha</td>
<td class="textright">516.67</td>
<td class="textright">516.67</td>
</tr>
<tr>
<td class="textcenter">1</td>
<td>Plancha</td>
<td class="textright">516.67</td>
<td class="textright">516.67</td>
</tr>
<tr>
<td class="textcenter">1</td>
<td>Plancha</td>
<td class="textright">516.67</td>
<td class="textright">516.67</td>
</tr>
<tr>
<td class="textcenter">1</td>
<td>Plancha</td>
<td class="textright">516.67</td>
<td class="textright">516.67</td>
</tr>
<tr>
<td class="textcenter">1</td>
<td>Plancha</td>
<td class="textright">516.67</td>
<td class="textright">516.67</td>
</tr>
</tbody>
<tfoot id="detalle_totales">
<tr>
<td colspan="3" class="textright"><span>SUBTOTAL Q.</span></td>
<td class="textright"><span>516.67</span></td>
</tr>
<tr>
<td colspan="3" class="textright"><span>IVA (12%)</span></td>
<td class="textright"><span>516.67</span></td>
</tr>
<tr>
<td colspan="3" class="textright"><span>TOTAL Q.</span></td>
<td class="textright"><span>516.67</span></td>
</tr>
</tfoot>
</table>
<div>
<p class="nota">Si usted tiene preguntas sobre esta factura, <br>pongase en contacto con nombre, teléfono y Email</p>
<h4 class="label_gracias">¡Gracias por su compra!</h4>
</div>

</div>

</body>
</html>

Esta es la plantilla para mi factura, al comenzar el codigo como pueden ver, estoy declarando un DIV con la clase CodigoQR para que lo muestre en la factura según el correlactivo de la venta.

<div class = "CodigoQR">

<img src="../test.png">

</div>

Me muestra el PNG que tengo de prueba, más no el QR generado segun el correlativo de la factura al momento de darle en el boton procesar venta, cuando genero la venta y le doy mostrar factura, no aparece ningun QR.

function.js

function GenerarQR(nofactura)
{

$("#btn_facturar_venta").submit(function(){
$.ajax({
url:'GenerarQR.php',
type:'POST',
data: {formData:$("#content").val(), ecc:$("#ecc").val(), size:$("#size").val()},
success: function(response) {
$(".CodigoQR").html(response);
},
});
});


}


Este es el codigo que declare en JavaScript el cual llamo en la clase de procesar factura para que se genere tanto el PDF como el QR


//PROCESAR LA FACTURA
$('#btn_facturar_venta').click(function(e)
{

e.preventDefault();

var rows = $('#detalle_venta tr').length;
if(rows > 0)
{


var action = 'procesarVenta';
var codcliente = $('#idcliente').val();

$.ajax({

url: 'ajax.php',
type: "POST",
async: true,
data: {action: action, codcliente: codcliente},

success: function(response)
{

if(response != 'error')
{
var info = JSON.parse(response);
console.log(info);
GenerarQR();
generarPDF(info.codcliente, info.nofactura);
location.reload();


}


Espero que puedan ayudarme y cualquier ayuda o consejo que me den, estare muy agradecida!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder