Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/05/2012, 15:08
marlonrafael2
 
Fecha de Ingreso: mayo-2012
Ubicación: xxxx
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Pregunta Error con ezpdf, cuando se agregan muchos datos

buenas, estoy haciendo una pagina php y necesito hacer los reportes de las tablas, estuve investigando y la mejor opción que encontré fue ezpdf pero ahora tengo un problema cuando agrego muchos datos me tira un error, también he probado con fpdf y tcpdf y ninguno funciona como me gustaria, alguien me puede sugerir algo o como solucionar el problema con ezpdf.

aquí pueden ver como se ve el informe:
http://pruebasevolution.webcindario.com/informes/informe.php


y algoritmo que genera los reportes lo coloco aquí abajo:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>Informes</title>
</head>
<body>

<?php
require_once('class.ezpdf.php');
$pdf = new Cezpdf('legal','landscape');
$pdf->selectFont('../fonts/Helvetica-Bold.afm');
$pdf->ezSetCmMargins(1,1,1,1);

//Variables globales
$sumaRecibos = 0;
$sumaFacturas = 0;
$suma = 0;
$control = 0;
$resEmp = 0;
$resEmp2 = 0;



$proyecto= utf8_decode($_REQUEST['id_proyecto']);

$conexion = mysql_connect("localhost", "root", "")
or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db("web", $conexion);
mysql_query("SET NAMES 'iso-8859-1'");

$query = "SELECT DATE_FORMAT(fecha,'%d/%m/%Y') as afecha,id_cheque,proveedor,monto_inversion,descrip cion,monto,monto_facturas FROM cheques WHERE id_proyecto = '$proyecto' order by fecha ASC, id_cheque DESC ";
$resEmp = mysql_query($query, $conexion) or die(mysql_error());


//Primer bucle cheques
while($datatmp = mysql_fetch_assoc($resEmp))
{


$data[]= array ( 'fecha'=>$datatmp['afecha'],'id_cheque'=>$datatmp['id_cheque'],'proveedor'=>$datatmp['proveedor'],
'nit'=>' ', 'id_factura'=>' ' ,'cantidad'=>' ' ,'renglon'=>' ' ,'descripcion'=>$datatmp['descripcion'],
'monto_inversion'=>number_format($datatmp['monto_inversion'],2), 'monto'=>number_format($datatmp['monto'],2), 'monto_recibo'=>'0.00',
'monto_factura'=>number_format($datatmp['monto_facturas'],2), 'saldo'=>number_format($suma,2)
) ;

//variable para la consulta
$idCheque = $datatmp['id_cheque'];

//consulta renglones
$queryRenglon = "SELECT id_cheque,cantidad,renglon,descripcion,precio FROM renglones WHERE id_cheque = $idCheque";
$resRenglon = mysql_query($queryRenglon, $conexion);

//segundo bucle renglones
while($datatmpRenglon = mysql_fetch_assoc($resRenglon))
{
$data[]= array ( 'fecha'=>'','id_cheque'=>" ",'proveedor'=>'',
'nit'=>' ', 'id_factura'=>' ','cantidad'=>$datatmpRenglon['cantidad'] ,'renglon'=>$datatmpRenglon['renglon'],
'descripcion'=>$datatmpRenglon['descripcion'],'monto_inversion'=>'' , 'monto'=>$datatmpRenglon['precio'], 'monto_recibo'=>'',
'monto_factura'=>'', 'saldo'=>'');

}

//tercer bucle facturas
$query2 = "SELECT DATE_FORMAT(fecha,'%d/%m/%Y') as afecha,id_cheque,proveedor,nit,id_factura,descripc ion,monto_factura,monto_recibo FROM facturas WHERE id_cheque= $idCheque ORDER BY fecha ";
$resEmp2 = mysql_query($query2, $conexion);
//tercer bucle de las facturas
while($datatmp2 = mysql_fetch_assoc($resEmp2))
{
$temporal= -$datatmp2['monto_factura']-$datatmp2['monto_recibo'];
$suma = $temporal+$suma;
$sumaFacturas = $datatmp2['monto_factura']+$sumaFacturas;
$sumaRecibos = $datatmp2['monto_recibo']+$sumaRecibos;

$data[]= array ( 'fecha'=>$datatmp2['afecha'],'id_cheque'=>'----','proveedor'=>$datatmp2['proveedor'],
'nit'=>$datatmp2['nit'], 'id_factura'=>$datatmp2['id_factura'] ,'cantidad'=>' ' ,'renglon'=>' ' ,'descripcion'=>$datatmp2['descripcion'],
'monto_inversion'=>'0.00' , 'monto'=>'0.00', 'monto_recibo'=>number_format($datatmp2['monto_recibo'],2),
'monto_factura'=>number_format($datatmp2['monto_factura'],2), 'saldo'=>number_format($suma,2)
);

}


}

$data[]= array ( 'fecha'=>'','id_cheque'=>'','proveedor'=>'',
'nit'=>' ', 'id_factura'=>' ','cantidad'=>' ' ,'renglon'=>'' ,
'monto_inversion'=>'' , 'monto'=>'Suma Total', 'monto_recibo'=>number_format($sumaRecibos,2),
'monto_factura'=>number_format($sumaFacturas,2), 'saldo'=>number_format($suma,2) ,'descripcion'=>''
) ;

$data[]= array ( 'fecha'=>'','id_cheque'=>'','proveedor'=>'',
'nit'=>' ', 'id_factura'=>' ' ,'cantidad'=>' ' ,'renglon'=>' ' ,'descripcion'=>'',
'monto_inversion'=>'' , 'monto'=>'IVA GENERADO', 'monto_recibo'=>number_format($sumaRecibos*0.12,2) ,
'monto_factura'=>number_format($sumaFacturas*0.12, 2), 'saldo'=>number_format($suma,2)
) ;



$titles = array(
'fecha'=>'<b>Fecha</b>',
'id_cheque'=>'<b>No. Cheque</b>',
'proveedor'=>'<b>Proveedor</b>',
'nit'=>'<b>NIT</b>',
'id_factura'=>'<b>No. Factura</b>',
'cantidad'=>'<b>Cantidad</b>',
'renglon'=>'<b>renglon</b>',
'descripcion'=>'<b>Descripción</b>',
'monto_inversion'=>'<b>Inversión </b>',
'monto'=>'<b>Valor cheque </b>',
'monto_recibo'=>'<b>Gastos en Recibos</b>',
'monto_factura'=>'<b>Gastos en Facturas</b>',
'saldo'=>'<b>Saldo</b>'
);


$options = array(

'shadeCol'=>array(1,1,1),
'shadeCol2'=>array(1,1,1),
'xOrientation'=>'center',
'width'=>950,
'rowGap' => 2,
'titleFontSize' => 18,
'textCol' => array(0,0,0),
'showLines'=> 2,
'shaded'=> 2,
'cols'=>array('monto_inversion'=>array('justificat ion'=>'right'),
'monto'=>array('justification'=>'right'),
'monto_recibo'=>array('justification'=>'right'),
'monto_factura'=>array('justification'=>'right'),
'saldo'=>array('justification'=>'right'),
)
);


$txttit = "Informe de Gastos";
//$txttit.= "verción 1 \n";

//$pdf->ezNewPage(); //agregar nueva pagina.
$pdf->ezText($txttit, 12);
$pdf->ezTable($data,$titles, $proyecto, $options);

$pdf->ezText("Generado: ".date("d/m/Y"), 10);
// unset($data);#deshacer el arreglo para las siguientes calificaciones del alumno


$pdf->ezStream();
//mysql.close($conexion);
?>

</body>
</html>