Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP FPDF ForEach循环_Php_Foreach_Fpdf - Fatal编程技术网

PHP FPDF ForEach循环

PHP FPDF ForEach循环,php,foreach,fpdf,Php,Foreach,Fpdf,我试图实现的目标是运行一个mysql查询,将输出放入foreach,然后使用awesome FPDF库将所有结果转储到pdf文档中。然而,只有最后一条结果记录进入pdf库。 下面是mysql查询: $sql1 = "SELECT mytable.AddressLine1, mytable.OrgID FROM mytable"; $results = $db->query($sql1); 以下是我的PHP: foreach ($results as $all_data) {

我试图实现的目标是运行一个mysql查询,将输出放入foreach,然后使用awesome FPDF库将所有结果转储到pdf文档中。然而,只有最后一条结果记录进入pdf库。 下面是mysql查询:

 $sql1 = "SELECT 
 mytable.AddressLine1,
 mytable.OrgID
 FROM
 mytable";
 $results = $db->query($sql1);
以下是我的PHP:

foreach ($results as $all_data) {
$border = 0;
$cardWidth = 1;
$cardHeight = 1;
require_once('fpdf/fpdf.php');
require_once('fpdf/fpdi.php');
$pdf = new FPDI('P','in','Letter');
$pdf->setSourceFile(realpath(ROOT_DIR . 'view' . URL_PATH . 'snTemplate.pdf'));
$pdf->AddPage();
$template = $pdf->importPage(1);
$pdf->useTemplate($template);
$pageNumber = 1;
$pdf->SetFont('Arial', '', 6);
$pdf->SetXY(0, 9.8); 
$pdf->MultiCell(8.5, .2, 'Page ' . $pageNumber, $border,'C');
$pdf->SetXY(0, 9.9);
$pdf->MultiCell(8.5, .2,' Report Form ', $border, 'C');
$pdf->SetXY(0, 10);
$pdf->MultiCell(8.5, .2,
$all_data['AddressLine1'] . ' - ' . $all_data['OrgID'], $border, 'C');
$pdf->Output('Name' . 'sanctionReport' . '.pdf','I');
}

表中还有四个结果,但只有最后一个记录集输出到PDF中,我希望所有结果都显示在各自的页面上,所有结果都在同一个报告中,真的不希望在用户屏幕上有多个下载框。。。他们容易害怕

在每次迭代中,您都会重新创建pdf。将$pdf=new FPDI(..)移动到for循环之前。并将pdf->Output移动到for循环之后(Output根据您提供的数据生成pdf)

@blejzz-成功了。谢谢你为我指明了正确的方向!