Mostrar reporte en PDF usando Clase FPDF
Gusto en saludarte, te cuento, estoy realizando un sitio web en donde debo crear reportes en PDF estoy utilizando la clase FPDF me funciona bien hasta que realizo un while Do para que la información desplegada se muestra en filas dinámicas, me explico si ingreso el número orden de compra quiero que me muestre todas las compras que tengan ese número.
Pego el código para que ojala me puedas ayudar ya que he realizado infinidades de pruebas y no me resulta:
<?php
require('fpdf.php');
class PDF extends FPDF
{
//Cabecera de página
function Header()
{
global $fecha;
global $compra_para;
global $direc;
global $moneda;
global $terminos;
global $num_orden;
global $cotizacion;
global $contacto_prov;
global $contacto_tli;
global $num;
global $item;
global $producto;
global $precio;
global $cantidad;
global $total;
$this->Image('tli.jpg',10,8,33);
$this->SetFont('Arial','B',7);
$link= mysql_connect("127.0.0.1","root") or die ("Problema en la conexión");
mysql_select_db("demosmr_mineria", $link);
$result = mysql_query("SELECT * FROM compra WHERE compra_num_orden='OCTLI-006'", $link);
while($row=mysql_fetch_array($result))
{
$num_orden=$row['compra_num_orden'];
$cotizacion=$row['compra_cotizacion'];
$contacto_prov=$row['compra_contacto_prov'];
$contacto_tli=$row['compra_contacto_tli'];
}
//Primer número mover lado a lado, Segundo número mover arriva a abajo
$this->Cell(50,5,"TLI ORDEN DE COMPRA",1);
$this->Cell(40,5,"COTIZACIÓN Nº",1);
$this->Cell(50,5,"CONTACTO PROVEEDOR",1);
$this->Cell(50,5,"CONTACTO TLI MINERÍA",1);
$this->Ln(5);
$this->Cell(50,5,$num_orden,1);
$this->Cell(40,5,$cotizacion,1);
$this->Cell(50,5,$contacto_prov,1);
$this->Cell(50,5,$contacto_tli,1);
$this->Ln(10);
$result = mysql_query("SELECT * FROM compra WHERE compra_num_orden='OCTLI-006'", $link);
if ($row = mysql_fetch_array($result))
{
while ($field = mysql_fetch_field($result))
{
//echo "
<td>$field->name</td>
\n";
}
$this->Cell(10,5,"Item",1);
$this->Cell(27,5,"Cod Item Prov.",1);
$this->Cell(81,5,"Descripción",1);
$this->Cell(22,5,"Precio Unit",1);
$this->Cell(20,5,"Cantidad",1);
$this->Cell(30,5,"Total",1);
Aca el problema sin el do funciona de maravillas pero lo escribo y me da un pase error
/*do
{
$num=$num+1;
$item=$row['compra_item1'];
$producto=$row['compra_producto1'];
$precio=$row['compra_pu1'];
$cantidad=$row['compra_cantidad'];
$total=$row['compra_total1'];
}
...
Pego el código para que ojala me puedas ayudar ya que he realizado infinidades de pruebas y no me resulta:
<?php
require('fpdf.php');
class PDF extends FPDF
{
//Cabecera de página
function Header()
{
global $fecha;
global $compra_para;
global $direc;
global $moneda;
global $terminos;
global $num_orden;
global $cotizacion;
global $contacto_prov;
global $contacto_tli;
global $num;
global $item;
global $producto;
global $precio;
global $cantidad;
global $total;
$this->Image('tli.jpg',10,8,33);
$this->SetFont('Arial','B',7);
$link= mysql_connect("127.0.0.1","root") or die ("Problema en la conexión");
mysql_select_db("demosmr_mineria", $link);
$result = mysql_query("SELECT * FROM compra WHERE compra_num_orden='OCTLI-006'", $link);
while($row=mysql_fetch_array($result))
{
$num_orden=$row['compra_num_orden'];
$cotizacion=$row['compra_cotizacion'];
$contacto_prov=$row['compra_contacto_prov'];
$contacto_tli=$row['compra_contacto_tli'];
}
//Primer número mover lado a lado, Segundo número mover arriva a abajo
$this->Cell(50,5,"TLI ORDEN DE COMPRA",1);
$this->Cell(40,5,"COTIZACIÓN Nº",1);
$this->Cell(50,5,"CONTACTO PROVEEDOR",1);
$this->Cell(50,5,"CONTACTO TLI MINERÍA",1);
$this->Ln(5);
$this->Cell(50,5,$num_orden,1);
$this->Cell(40,5,$cotizacion,1);
$this->Cell(50,5,$contacto_prov,1);
$this->Cell(50,5,$contacto_tli,1);
$this->Ln(10);
$result = mysql_query("SELECT * FROM compra WHERE compra_num_orden='OCTLI-006'", $link);
if ($row = mysql_fetch_array($result))
{
while ($field = mysql_fetch_field($result))
{
//echo "
<td>$field->name</td>
\n";
}
$this->Cell(10,5,"Item",1);
$this->Cell(27,5,"Cod Item Prov.",1);
$this->Cell(81,5,"Descripción",1);
$this->Cell(22,5,"Precio Unit",1);
$this->Cell(20,5,"Cantidad",1);
$this->Cell(30,5,"Total",1);
Aca el problema sin el do funciona de maravillas pero lo escribo y me da un pase error
/*do
{
$num=$num+1;
$item=$row['compra_item1'];
$producto=$row['compra_producto1'];
$precio=$row['compra_pu1'];
$cantidad=$row['compra_cantidad'];
$total=$row['compra_total1'];
}
...
1 Respuesta
Respuesta de Jorge Vila
1