Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/08/2014, 04:56
joby
 
Fecha de Ingreso: julio-2007
Mensajes: 23
Antigüedad: 16 años, 9 meses
Puntos: 0
generar una factura en pdf desde Php

Muy buenas a tod@s
Gracias de antemano a la gente que dedica parte de su tiempo a resolvernos las dudas que tenemos.
mi problema reside en que estoy haciendo una factura en pdf en la que se listan los diferentes pedidos de los clientes estoy usando la libreria FPDF.
el problema que tengo si tengo más de un pedido(varios articulos) por cliente no soy capaz
de generar el contenido en mi PDF.sé que alguna consulta la hago mal :(

tengo las siguientes tablas de BD con los siguientes campos:
+customers (clientes):
customerid dni name address city state zip country
donde customerid(clave primaria:1,2,3,....)
+ orders:
orderid(PK) customerid(Fk) ship_nif date order_status ship_name ship_address ship_city ship_state ship_zip ship_country
+orders_items():
orderitems(PK) orderid(FK) isbn item_price quantity

os pongo el código para la programación de la factura en PDF:
Código PHP:
   define('FPDF_FONTPATH','font/');
    require(
'./fpdf/mysql_table.php');
    include(
"./fpdf/comunes.php");
    include (
"./funciones/fechas.php");
    
$c=mysql_pconnect("localhost""""");
    if (!
$c)
      die( 
'Error'mysql_error() );
    
mysql_select_db("db",$c) or die(mysql_error());

    
//declarar el importe del IVA
    
$iva="21";
    
    
$pdf=new PDF();
    
$pdf->Open();
    
$pdf->AddPage();
    
$pdf->Ln(10);

    
$codfactura=$_POST["codcliente"];

    
$query="select * from orders where customerid='$codfactura'";
    
$r=mysql_query($query,$c) or die (mysql_error());
    
$datos=mysql_fetch_array($r);
    
//var_dump($datos);die;
   
    
$consulta "Select * from orders,order_items where orders.customerid=$codfactura and orders.orderid = order_items.orderid ";
    
$resultado=mysql_query($consulta,$c) or die (mysql_error());
    
$lafila=mysql_fetch_array($resultado);
  
     
//definir  las celdas para rellenar los datos del cliente
    
$pdf->Cell(95);
    
$pdf->Cell(80,4,"",'',0,'C');
    
$pdf->Ln(4);

    
$pdf->SetFillColor(255,255,255);
    
$pdf->SetTextColor(0);
    
$pdf->SetDrawColor(0,0,0);
    
$pdf->SetLineWidth(.2);
    
$pdf->SetFont('Arial','B',10);

    
$pdf->Cell(40,65,'Datos del Cliente');
    
$pdf->SetX(10);

    
$pdf->Cell(95);
    
$pdf->Cell(80,4,"",'LRT',0,'L',1);
    
$pdf->Ln(4);

    
$pdf->Cell(95);
    
$pdf->Cell(80,4,$lafila["ship_name"],'LR',0,'L',1);
    
$pdf->Ln(4);

    
$pdf->Cell(95);
    
$pdf->Cell(80,4,$lafila["ship_address"],'LR',0,'L',1);
    
$pdf->Ln(4);
    
    
$pdf->Cell(95);
    
$pdf->Cell(80,4,$lafila["ship_zip"],'LR',0,'L',1);
    
$pdf->Ln(4);
    
    
$pdf->Cell(95);
    
$pdf->Cell(80,4,$lafila["ship_city"],'LR',0,'L',1);
    
$pdf->Ln(4);
    
    
$pdf->Cell(95);
    
$pdf->Cell(80,4,$lafila["ship_country"],'LR',0,'L',1);
    
$pdf->Ln(4);

    
$pdf->Cell(95);
    
$pdf->Cell(80,4,"",'LRB',0,'L',1);
    
$pdf->Ln(10);

    
$pdf->SetFillColor(255,191,116);
    
$pdf->SetTextColor(0);
    
$pdf->SetDrawColor(0,0,0);
    
$pdf->SetLineWidth(.2);
    
$pdf->SetFont('Arial','B',8);
    
    
$pdf->Cell(80);
    
$pdf->SetFillColor(255,255,255);
    
$pdf->SetTextColor(0);
    
$pdf->SetDrawColor(0,0,0);
    
$pdf->SetLineWidth(.2);
    
$pdf->SetFont('Arial','',8);
    
    
$fecha implota($datos["date"]);
    
    
$pdf->Cell(30,4,$lafila["ship_nif"],1,0,'C',1);
    
$pdf->Cell(30,4,$lafila["customerid"],1,0,'C',1);
    
$pdf->Cell(30,4,$fecha,1,0,'C',1);
    
$pdf->Cell(20,4,$lafila["orderid"],1,0,'C',1);


    
    
//ahora mostramos las lineas de la factura
    // donde no consigo mostar
    
$pdf->Ln(10);
    
$pdf->Cell(1);

    
$pdf->SetFillColor(255,191,116);
    
$pdf->SetTextColor(0);
    
$pdf->SetDrawColor(0,0,0);
    
$pdf->SetLineWidth(.2);
    
$pdf->SetFont('Arial','B',8);
    

    
        
$pdf->Cell(40,4,"Autor",1,0,'C',1);
    
$pdf->Cell(80,4,"Titulo",1,0,'C',1);
    
$pdf->Cell(20,4,"Precio",1,0,'C',1);
    
$pdf->Cell(15,4,"Cantidad",1,0,'C',1);

    
$pdf->Ln(4);


    
$pdf->SetFillColor(224,235,255);
    
$pdf->SetTextColor(0);
    
$pdf->SetDrawColor(0,0,0);
    
$pdf->SetLineWidth(.2);
    
$pdf->SetFont('Arial','',8);
    
    
$pdf->Cell(80);
    
$pdf->Cell(30,4,"dni",1,0,'C',1);
    
$pdf->Cell(30,4,"customerid",1,0,'C',1);
    
$pdf->Cell(30,4,"Fecha",1,0,'C',1);
    
$pdf->Cell(20,4,"orderid",1,0,'C',1);
    
$pdf->Ln(4);