Foros del Web » Programando para Internet » PHP »

ciclo en fpdf y php

Estas en el tema de ciclo en fpdf y php en el foro de PHP en Foros del Web. Buenas, tengo un problemilla con fpdf y php, no soy capaz de entender como creo un ciclo para salto de página, recojo de una consulta ...
  #1 (permalink)  
Antiguo 29/01/2019, 08:06
 
Fecha de Ingreso: abril-2016
Mensajes: 90
Antigüedad: 10 años, 5 meses
Puntos: 1
ciclo en fpdf y php

Buenas, tengo un problemilla con fpdf y php, no soy capaz de entender como creo un ciclo para salto de página, recojo de una consulta 50 líneas ( cada una con una imagen), pero no soy capaz de realizar el salto de página , y algunas veces corta la imagen y otras pone la imagen en una página y el marco en la siguiente.
este es lo que tengo:
Código PHP:
<?php
require('conexion.php');
require(
'../fpdf/fpdf.php');
mysql_query("SET NAMES utf8");
class 
PDF extends FPDF
{
//Creamos un Class, y dentro de él, extendiendo la función FPDF
//creamos la función Header y Footer
/*function Header()
{
    $this->SetFont('Arial','B',15);
    //Declaramos una fuente
    $this->Cell(30,10,'Titulo',1,0,'C');
    //Titulo
    $this->Ln(20);
    //Salto de línea
}*/
 //Cabecera de p�gina
function Header()
{
//$this->SetFont('Arial', '', 10);
$this->Image('../recursos/prueba.gif' , 10 ,8, 10 , 13,'GIF');
$this->Cell(18, 10, '', 0);
$this->Cell(120, 10, 'MISS-TIC', 0);
$this->SetFont('Arial', '', 9);
$this->Cell(50, 10, 'Fecha listado: '.date('d-m-Y').'', 0);
$this->Ln(15);
$this->SetFont('Arial', 'B', 11);
$this->Cell(70, 8, '', 0);
//$this->Cell(0, 8, 'Escaparates del '.fechaCorta($desde).' hasta el '.fechaCorta($hasta), 0,0,'C',0);
$this->Ln(3);
$this->Cell(60, 8, '', 0);
//$this->Cell(100, 8, 'Desde: '.$verDesde.' hasta: '.$verHasta, 0);
$this->Ln(15);
$this->SetFillColor(232,232,232);
$this->SetFont('Arial', 'B', 7);
$this->Cell(16, 8, '##',1,0,'C',1);
$this->Cell(30, 8, 'Fecha',1,0,'C',1);
$this->Cell(30, 8, 'Tienda',1,0,'C',1);
$this->Cell(85, 8, 'Foto',1,0,'C',1);
//$pdf->Cell(14, 8, 'Fecha',1,0,'C',1);
//$pdf->Cell(13, 8, 'Tienda',1,0,'C',1);
//$pdf->Cell(55, 8, 'Foto',1,0,'C',1);
$this->Ln(8);
$this->SetFont('Arial', '', 7);
//$link = $pdf->AddLink();
}
//Pie de página
function Footer()
{
 
    
$this->SetY(-15);
    
//Posición: a 1,5 cm del final
    
$this->SetFont('Arial','I',8);
 
    
$this->Cell(0,10,utf8_decode('Página '.$this->PageNo().' de {nb}'),0,0,'C');
    
//PageNo nos muestra el número de página actual
    //El "/{nb}" es para que nos muestre el número de páginas máximo
    //de tal forma que se quede del tipo "Página 1/2"
    //Esto es debido a la función posterior "AliasNbPages"
}
}

 if(
strlen($_GET['desde'])>0 and strlen($_GET['hasta'])>0){
    
$desde = $_GET['desde'];
    
$hasta = $_GET['hasta'];

    
$verDesde = date('d/m/Y', strtotime($desde));
    
$verHasta = date('d/m/Y', strtotime($hasta));
}else{
    
$desde = '1111-01-01';
    
$hasta = '9999-12-30';

    
$verDesde = '__/__/____';
    
$verHasta = '__/__/____';
}
// variables

define('EURO', chr(128));

    
$image1 = "http://www.prueba.gl/escaparates/";
    
//CONSULTA
$productos = mysql_query("SELECT * FROM Escaparates WHERE (fecha BETWEEN '$desde' AND '$hasta')  ORDER BY centrocoste ASC, fecha ASC ");  


    
    


//Creación del objeto de la clase heredada
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->Ln(8);
$pdf->SetFont('Arial', '', 7);



while(
$productos2 = mysql_fetch_array($productos))

{              
    
$item = $item+1;
    
$dia = $productos2['fecha'];
    
$tienda =  $productos2['centrocoste'];
    
$encargada = $productos2['nombre'];
    
$pdf->Cell(16, 8, $item,0,0,'C',0);
    
$pdf->Cell(30, 8, fechanormal($productos2['fecha']),0,0,'C',0); 
    
$pdf->Cell(30, 8, $productos2['centrocoste'],0,0,'L',0);    
    
$pdf->Cell(15, 8, '',0,0,'L',0);
    
$pdf->Cell( 50, 30, $pdf->Image($image1.$productos2['foto'], $pdf->GetX(), $pdf->GetY(), 50,30,'JPG'), 1, 1, 'C', false ); 
    
$pdf->Ln(2);
}

$pdf->Output();
?>
Gracias por la ayuda

Etiquetas: fpdf, mysql, query, select, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:11.