【问题标题】:PHP fpdf in while loop - I want to split into multiple pdfwhile循环中的PHP fpdf-我想拆分为多个pdf
【发布时间】:2019-11-20 04:42:47
【问题描述】:

我在下面有这段代码。如何根据while循环的数据生成多个PDF?现在它只生成一个 PDF。例如,如果有 5 名员工,它还应该生成 5 个 PDF,每个 PDF 都有唯一的员工姓名。非常感谢。

<?php session_start() ; ?>
<?php include "../db_connection301.php" ; ?>
<?php include "../db_connection302.php" ; ?>
<?php include "../db_connection303.php" ; ?>
<?php include "../db_connection304.php" ; ?>
<?php include "../db_connection305.php" ; ?>
<?php

 require_once('../../bus_partners/fpdf/fpdf/fpdf.php');
 require_once('../../bus_partners/fpdf/fpdi/fpdi.php');

 $pdf = new FPDI();


 $query_data = "SELECT * FROM alphalist_compen_2019";
 $result_alphalist = mysqli_query($connection303, $query_data ) ;   
 while ($row_alphalist = mysqli_fetch_array($result_alphalist)) {


         $ee_numbers           =   $row_alphalist['EE_NUMBER'] ;
         $last_name            =   $row_alphalist['LAST_NAME'] ;
         $first_name           =   $row_alphalist['FIRST_NAME'] ;
         $employee_name        =   $first_name." ".$last_name ; 



         $pageCount    =  $pdf->setSourceFile('C:/wamp64/www/dbsmypay.com/bus_partners/BIR-forms/2316-new.pdf') ;
         $tplIdx       =  $pdf->importPage(1, '/MediaBox') ;


         $pdf->SetAutoPageBreak(false) ;
         $pdf->addPage('P', 'Legal') ; // SETTING THE PAPER SIZE OF THE PDF
         $pdf->useTemplate($tplIdx, 8, 12, 200, 320) ; // SETTING THE MARGIN LEFT TOP RIGHT BOTTOM


         $pdf->SetFont('Arial') ;
         $pdf->SetFontSize(10) ;
         $pdf->SetTextColor(12, 12, 12) ;



         $pdf->SetXY(46, 283) ;
         $pdf->Write(0, $employee_name) ;


         }


         $file_location = "C:/wamp64/www/dbsmypay.com/per-day/bir-2316/2019/".$ee_numbers.".pdf" ;
         $pdf->Output($file_location,'F') ;

【问题讨论】:

  • 顺便说一句,您不需要为每个员工建立连接 :-) 您是否检查过表格中有 5 个不同的 EE_NUMBERS?
  • 另一个连接用于不同的目的,是的,它提取了不同的 EE_NUMBERS 它只是在一个 pdf 中有循环。

标签: php mysql fpdf


【解决方案1】:

像这样将$pdf = new FPDI();$pdf-&gt;Output($file_location,'F') ; 放入while 循环中:

<?php session_start() ; ?>
<?php include "../db_connection301.php" ; ?>
<?php include "../db_connection302.php" ; ?>
<?php include "../db_connection303.php" ; ?>
<?php include "../db_connection304.php" ; ?>
<?php include "../db_connection305.php" ; ?>
<?php

 require_once('../../bus_partners/fpdf/fpdf/fpdf.php');
 require_once('../../bus_partners/fpdf/fpdi/fpdi.php');


 $query_data = "SELECT * FROM alphalist_compen_2019";
 $result_alphalist = mysqli_query($connection303, $query_data ) ;   
 while ($row_alphalist = mysqli_fetch_array($result_alphalist)) {

         $pdf = new FPDI();

         $ee_numbers           =   $row_alphalist['EE_NUMBER'] ;
         $last_name            =   $row_alphalist['LAST_NAME'] ;
         $first_name           =   $row_alphalist['FIRST_NAME'] ;
         $employee_name        =   $first_name." ".$last_name ; 



         $pageCount    =  $pdf->setSourceFile('C:/wamp64/www/dbsmypay.com/bus_partners/BIR-forms/2316-new.pdf') ;
         $tplIdx       =  $pdf->importPage(1, '/MediaBox') ;


         $pdf->SetAutoPageBreak(false) ;
         $pdf->addPage('P', 'Legal') ; // SETTING THE PAPER SIZE OF THE PDF
         $pdf->useTemplate($tplIdx, 8, 12, 200, 320) ; // SETTING THE MARGIN LEFT TOP RIGHT BOTTOM


         $pdf->SetFont('Arial') ;
         $pdf->SetFontSize(10) ;
         $pdf->SetTextColor(12, 12, 12) ;



         $pdf->SetXY(46, 283) ;
         $pdf->Write(0, $employee_name) ;
         $file_location = "C:/wamp64/www/dbsmypay.com/per-day/bir-2316/2019/".$ee_numbers.".pdf" ;
         $pdf->Output($file_location,'F') ;

         }



【讨论】:

  • 完成。再次感谢您。
猜你喜欢
  • 2017-07-12
  • 1970-01-01
  • 2014-03-29
  • 2017-02-26
  • 1970-01-01
  • 2020-08-25
  • 1970-01-01
  • 2011-08-09
  • 1970-01-01
相关资源
最近更新 更多