Question:
Date: 18-03-2020 15:46:22
(In Spanish)
esperando me puedan ayudar y es con lo siguiente lo que pretendo es genera un pdf con datos de una tabla quiero que en cada hoja salgan 2 registro el script que tengo con fpdf solo me imprime uno en cada hoja les muestro el codigo como lo tengo
<?
$f1 = $_POST['fol1'];
$f2 = $_POST['fol2'];
include('conecta.php');
require('pdf/fpdf.php');
date_default_timezone_set('America/Mexico_City');
$pdf = new FPDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->Image('imagen/cuauhtemoc.jpg',6,9,-120);
$pdf->SetXY(3,3); //marco
$pdf->cell(204,110,'',1,0); //marco
$pdf->SetFont('Arial','B',12);
$pdf->SetXY(45,10);
$pdf->Cell(50,4, 'Folio Archivo :',0,0,'C');
$pdf->SetXY(120,10);
$pdf->Cell(50,4, 'Num. Oficio :',0,0,'C');
$pdf->SetXY(41,18);
$pdf->Cell(50,4, 'Remitente :',0,0,'C');
$pdf->SetXY(44,27);
$pdf->Cell(50,4, 'Fec. Captura :',0,0,'C');
$pdf->SetXY(119,27);
$pdf->Cell(50,4, 'Fec. Oficio :',0,0,'C');
$pdf->SetXY(10,34);
$pdf->Cell(25,5, 'Asunto :',0,0,'L');
$pdf->SetXY(10,66); // columna fila
$pdf->Cell(25,5, 'Observaciones :',0,0,'L'); //ancho alto
$peticion="Select folio,folio_area,area,DATE_FORMAT(f_captura,'%d/%m/%Y') as f_captura ,DATE_FORMAT(f_oficio,'%d/%m/%Y')
as f_oficio,asunto,observa From oficios where folio>=$f1 && folio <=$f2 ";
$respuesta=mysqli_query($conectado,$peticion);
$dato=mysqli_fetch_array($respuesta);
$pdf->SetFont('Arial','',9);
$pdf->SetXY(86,10);
$pdf->Cell(16,4,$dato['folio'],0,0,"L");
$pdf->SetXY(162,10);
$pdf->Cell(17,4,$dato['folio_area'],0,0,"L");
$pdf->SetXY(79,18);
$pdf->Cell(17,4,$dato['area'],0,0,"L");
$pdf->SetXY(84,27);
$pdf->Cell(17,4,$dato['f_captura'],0,0,"L");
$pdf->SetXY(160,27);
$pdf->Cell(17,4,$dato['f_oficio'],0,0,"L");
$pdf->SetXY(0,27);
$pdf->ln(12);
$pdf->write(4,utf8_decode($dato['asunto']));
$pdf->ln(31);
$pdf->write(4,utf8_decode($dato['observa']));
$pdf->Output();
//$pdf->Output('noe.pdf',D);
?>
GRACIAS Votes: 0 - Answers: 3 - Views: 2 Share on: Google Facebook Twitter LinkedIn Link
generar pdf 2 registros en una solo hoja[Unresolved]
hola foro !!!esperando me puedan ayudar y es con lo siguiente lo que pretendo es genera un pdf con datos de una tabla quiero que en cada hoja salgan 2 registro el script que tengo con fpdf solo me imprime uno en cada hoja les muestro el codigo como lo tengo
<?
$f1 = $_POST['fol1'];
$f2 = $_POST['fol2'];
include('conecta.php');
require('pdf/fpdf.php');
date_default_timezone_set('America/Mexico_City');
$pdf = new FPDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->Image('imagen/cuauhtemoc.jpg',6,9,-120);
$pdf->SetXY(3,3); //marco
$pdf->cell(204,110,'',1,0); //marco
$pdf->SetFont('Arial','B',12);
$pdf->SetXY(45,10);
$pdf->Cell(50,4, 'Folio Archivo :',0,0,'C');
$pdf->SetXY(120,10);
$pdf->Cell(50,4, 'Num. Oficio :',0,0,'C');
$pdf->SetXY(41,18);
$pdf->Cell(50,4, 'Remitente :',0,0,'C');
$pdf->SetXY(44,27);
$pdf->Cell(50,4, 'Fec. Captura :',0,0,'C');
$pdf->SetXY(119,27);
$pdf->Cell(50,4, 'Fec. Oficio :',0,0,'C');
$pdf->SetXY(10,34);
$pdf->Cell(25,5, 'Asunto :',0,0,'L');
$pdf->SetXY(10,66); // columna fila
$pdf->Cell(25,5, 'Observaciones :',0,0,'L'); //ancho alto
$peticion="Select folio,folio_area,area,DATE_FORMAT(f_captura,'%d/%m/%Y') as f_captura ,DATE_FORMAT(f_oficio,'%d/%m/%Y')
as f_oficio,asunto,observa From oficios where folio>=$f1 && folio <=$f2 ";
$respuesta=mysqli_query($conectado,$peticion);
$dato=mysqli_fetch_array($respuesta);
$pdf->SetFont('Arial','',9);
$pdf->SetXY(86,10);
$pdf->Cell(16,4,$dato['folio'],0,0,"L");
$pdf->SetXY(162,10);
$pdf->Cell(17,4,$dato['folio_area'],0,0,"L");
$pdf->SetXY(79,18);
$pdf->Cell(17,4,$dato['area'],0,0,"L");
$pdf->SetXY(84,27);
$pdf->Cell(17,4,$dato['f_captura'],0,0,"L");
$pdf->SetXY(160,27);
$pdf->Cell(17,4,$dato['f_oficio'],0,0,"L");
$pdf->SetXY(0,27);
$pdf->ln(12);
$pdf->write(4,utf8_decode($dato['asunto']));
$pdf->ln(31);
$pdf->write(4,utf8_decode($dato['observa']));
$pdf->Output();
//$pdf->Output('noe.pdf',D);
?>
GRACIAS Votes: 0 - Answers: 3 - Views: 2 Share on: Google Facebook Twitter LinkedIn Link
Answers:
-
Date: 24-03-2020 13:41:00 Hola,
where folio>=$f1 && folio <=$f2
en esta parte le estas pidiendo a mysql que te traiga todo lo que esta entre mayor o igual a f1 y menor o igual a f2...pero al no usar foreach o while la consulta sólo te trae uno, te recomiendo que leas un poco acerca de while o foreach para que en verdad te traiga TODO lo que esta entre folio 1 y folio 2
Saludos Votes: 0 - Link answer -
Date: 25-03-2020 05:16:10 Hola Joaquín !!!
gracias por responder lo que deseo es que efectivamente me traiga los folios que el usuario requiera imprimir ya modifique el script, y si se desea imprimir los folio 120 y 123 los imprime pero crea una hoja por folio en este caso crea 4 hojas y lo que pretendo es en cada hoja tenga 2 folios ejemplo en una hoja que tenga folio 120 y folio 121 en otra hoja folio 122 y folio 123 te muestro el script
$f1 = $_REQUEST['fo1'];
$f2 = $_REQUEST['fo2'];
include('conecta.php');
require('pdf/fpdf.php');
date_default_timezone_set('America/Mexico_City');
$pdf = new FPDF();
$peticion="Select folio,folio_area,area,DATE_FORMAT(f_captura,'%d/%m/%Y') as f_captura ,DATE_FORMAT(f_oficio,'%d/%m/%Y')
as f_oficio,asunto,observa From oficios where folio>=$f1 && folio <=$f2 ";
$respuesta=mysqli_query($conectado,$peticion);
//$dato=mysqli_fetch_array($respuesta);
$linea = mysqli_num_rows($respuesta);
if ($linea > 0 ){
while($dato = mysqli_fetch_array($respuesta)){
$pdf->AddPage();
$pdf->Image('imagen/cuauhtemoc.jpg',6,9,-120);
$pdf->SetXY(3,3);
$pdf->cell(204,110,'',1,0);
$pdf->SetFont('Arial','B',12);
$pdf->SetXY(45,10);
$pdf->Cell(50,4, 'Folio Archivo :',0,0,'C');
$pdf->SetXY(120,10);
$pdf->Cell(50,4, 'Num. Oficio :',0,0,'C');
$pdf->SetXY(41,18);
$pdf->Cell(50,4, 'Remitente :',0,0,'C');
$pdf->SetXY(44,27);
$pdf->Cell(50,4, 'Fec. Captura :',0,0,'C');
$pdf->SetXY(119,27);
$pdf->Cell(50,4, 'Fec. Oficio :',0,0,'C');
$pdf->SetXY(10,34);
$pdf->Cell(25,5, 'Asunto :',0,0,'L');
$pdf->SetXY(10,66); // columna fila
$pdf->Cell(25,5, 'Observaciones :',0,0,'L');
// -------------------------------------------------------
$pdf->SetFont('Arial','',9);
$pdf->SetXY(86,10);
$pdf->Cell(16,4,$dato['folio'],0,0,"L");
$pdf->SetXY(162,10);
$pdf->Cell(17,4,$dato['folio_area'],0,0,"L");
$pdf->SetXY(79,18);
$pdf->Cell(17,4,$dato['area'],0,0,"L");
$pdf->SetXY(84,27);
$pdf->Cell(17,4,$dato['f_captura'],0,0,"L");
$pdf->SetXY(160,27);
$pdf->Cell(17,4,$dato['f_oficio'],0,0,"L");
$pdf->SetXY(0,27);
$pdf->ln(12);
$pdf->write(4,utf8_decode($dato['asunto']));
$pdf->ln(31);
$pdf->write(4,utf8_decode($dato['observa']));
}
$pdf->Output();
//$pdf->Output('noe.pdf',D);
}else{
echo"
<script type='text/javascript'>
alert('El Folio de Inicio ".$f1." o Folio ".$f2." Final no Existe');
window.location='menu_reportes_ges.php';
</script>";
}
?>
GRACIAS. Votes: 0 - Link answer -
Date: 26-03-2020 06:32:17 Entonces solo es necesario que pongas bien los márgenes dentro del fpdf. Depende del tamaño de la hoja puedes o ponerlo uno pegado al otro o uno debajo del otro. veo que sólo unas cell y no multicell, le has dado un ancho fijo, por que no haces una union o un join(cambiando el nombre de las filas para que no te de error de ambigüedad) entre las dos consultas y así en cada línea donde tu deseas que se vean tanto el folio 1 como el folio 2 agregas la variable de cada folio Votes: 0 - Link answer
To actively participate in the community first must authenticate, enter the system.Sign In