tengo el siguiente código para generar un pdf que funciona bien, actualmente lo que realiza mi codigo es por sucursal que encuentre (1001, 1002 por ejemplo) me genera información por separado, es decir, si el detalle de una sucursal ocupa hoja y media la siguiente sucursal va en una nueva hoja, hasta aqui todo esta bien.
El problema que tengo ahora es que debo separa el contenido de esas hojas de a 10 registros, es decir, si la sucursal 1001 tiene 20 registros debo en hoja nueva mostrar de a 10 registros, para lo cual requiero incluir el limit y el offset, pero la verdad ya lo inclui en la consulta pero no se como hacer en el ciclo del for para que me genere la informacion.
la clase que utilizo para el dpf es ezpdf
Código PHP:
require_once('includes/ezpdf/class.ezpdf.php');
require_once('includes/conexion.php');
//////////////////////////////CODBAR////////////////////////////////
require('class/BCGFont.php');
require('class/BCGColor.php');
require('class/BCGDrawing.php');
include('class/BCGcode128.barcode.php');
// Loading Font
$font = new BCGFont('class/font/Arial.ttf', 18);//QUITE & DESPUES DEL IGUAL
// The arguments are R, G, B for color.
$color_black =& new BCGColor(0, 0, 0);
$color_white =& new BCGColor(255, 255, 255);
//$code =& new BCGcode128();
$code = new BCGcode128();
$code->setScale(2); // Resolution
$code->setThickness(30); // Thickness
$code->setForegroundColor($color_black); // Color of bars
$code->setBackgroundColor($color_white); // Color of spaces
$code->setFont($font); // Font (or 0)
$code->parse('NILTZA'); // Text
/* Here is the list of the arguments
1 - Filename (empty : display on screen)
2 - Background color */
$file = "images/barcode.png";
$drawing = new BCGDrawing($file, $color_white);
$drawing->setBarcode($code);
$drawing->draw();
// Header that says it is an image (remove it if you save the barcode to a file)
//header('Content-Type: image/png');
// Draw (or save) the image into PNG format.
$drawing->finish($drawing->IMG_FORMAT_PNG);
////////////////////////////////////
date_default_timezone_set("America/Bogota");
$arrPG = array_merge( $_POST, $_GET, $_FILES ); //recibir variables
$fecha_actual = date("d/m/Y H:i:s");
//echo '<pre>'; print_r( $arrPG ); echo '</pre>';
/*funciones*/
//////////////
//$pdf = new backgroundPDF('letter', 'portrait', 'image', array('img' => 'images/fondoV.jpg'));
$pdf = new Cezpdf('letter', 'portrait');//escogemos el tipo de hoja y la ponemos horizontal se comentarea este por el background
$pdf->selectFont('includes/ezpdf/fonts/Helvetica.afm');//tipo de fuente
//////////////
$arrPG['nomArc'] = '25';
if( $arrPG['nomArc'] )
{
$idxArc = $arrPG['nomArc'] ;
$dataDS = getDataSD( $idxArc, $objDB );//total sucursales con un count(distinct(sucursal_solicita))
$arrDatBc['totalsucursales'] = $dataDS[0]['totalsucursales']; //aqui se obtine el dato
if ( $arrDatBc['totalsucursales'] != 0)
{
$dataTS = getDataTS( $idxArc, $objDB );//se obtiene los codigos de sucursales con distinct(sucursal_solicita)
for ($j = 0; $j < $arrDatBc['totalsucursales']; $j++)//por cada sucursal
{
$arrDat['nom_sucursal'] = $dataTS[$j]['sucursal_solicita']; //nombre de sucursal
$dataBc = getDataPD( $idxArc, $objDB, $arrDat, $arrPG, $offset );//detalle de la consulta con los campos requeridos utilizando limit 10 offset
$tamanodataBc = sizeof($dataBc); //tamano pedido
$arrDatBc['cod_banco'] = $dataBc[0]['cod_banco']; //codigo banco
$fechaC = $dataBc[0]['fecha_cargue'];
$fechaC = explode('-', $fechaC);
$fechad = $fechaC[2];
$fechad = substr($fechaC[2], 0,2);
$fecham = $fechaC[1];
for ($i = 0; $i < $tamanodataBc; $i++)
{
$arrDatBc['sucursal_solicita'] = $dataBc[$i]['sucursal_solicita'];
$arrDatBc['nom_sucursal'] = $dataBc[$i]['nom_sucursal'];
$arrDatBc['rango_inicial'] = $dataBc[$i]['rango_inicial'];
$arrDatBc['rango_final'] = $dataBc[$i]['rango_final'];
$arrDatBc['cantidad_cheques'] = $dataBc[$i]['cantidad_cheques'];
$arrDatBc['tipo_chequera'] = $dataBc[$i]['tipo_chequera'];
$arrDatBc['nro_cuenta'] = $dataBc[$i]['nro_cuenta'];
$arrDatBc['solicitud'] = $dataBc[$i]['solicitud'];
$arrDatBc['total_chequeras'] = ceil($arrDatBc['cantidad_cheques']/$arrDatBc['tipo_chequera']);
$arrDatBc['sumaCantChequeras'] += $arrDatBc['total_chequeras']; //sumatoria
$arrDatBc['nombarchivo'] = 'BP'.$fechad.$fecham.$arrDatBc['cod_banco'].$arrDatBc['tipo_chequera'];
$arrDatBc['vacio'] = "";
$arrDatBc['num_cheq'] = $i+1;
$data[]=array('CODSUCU'=>$arrDatBc['sucursal_solicita'], 'NUM CHEQ'=>$arrDatBc['num_cheq'], 'CUENTA NUMERO'=>$arrDatBc['nro_cuenta'], 'DEL No.'=>$arrDatBc['rango_inicial'],'AL No.'=>$arrDatBc['rango_final'], 'SOLICITUD'=>$arrDatBc['solicitud'] );
$titles=array('CODSUCU'=>'CODSUCU', 'NUM CHEQ'=>'NUM CHEQ', 'DEL No.'=>'DEL No.','AL No.'=>'AL No.', 'SOLICITUD'=>'SOLICITUD');
}//for $i
$pdf->ezImage('images/barcode.png', 80, 90, 'none', 'right');
$pdf->ezText("<b>DETALLE DE NUMERACION POR SUCURSAL</b>\n",12);
$pdf->ezText("<b>SUCURSAL:".$arrDatBc['nom_sucursal']."</b>",8);
$pdf->ezText("<b>PEDIDO: ".$arrDatBc['nombarchivo']."</b>",8);
$pdf->ezText("<b>FECHA/HORA: ".$fecha_actual."</b>\n",8);
$pdf->ezText("\n",10);
$pdf->ezTable($data);
$n = $j+1;//contador para que no imprima hoja en blanco sl final
if( ($n < $arrDatBc['totalsucursales']) )
{
$pdf->ezNewPage(); //por cada sucursal imprime en hojas aparte
}
unset($data);
unset($arrDatBc['sumaCantChequeras']);
unset($rango_inicial);
unset($rango_final);
}//cierra por cada sucursal $j
}//if total sucursales
}//if arrpg
//////////////////
ob_end_clean(); //IMPORTANTE!!
$pdf->ezStream();