2012-04-25 39 views
0

私が達成しようとしている目標は、mysqlクエリを実行し、出力をforeachに入れて、すばらしいFPDFライブラリを使用してすべての結果をpdfドキュメントにダンプすることです。しかし、最後の結果レコードだけがpdfライブラリに入っています。ここ は、MySQLのクエリです:ここでPHP FPDF ForEachループ

$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'); 
} 

は再びテーブル内の4つの結果がありますが、唯一の最後のレコードをPDFに出力され、私はすべての結果をしたいと思います彼らの個々のページに表示するには、すべて同じレポートで、実際には、ユーザーの画面上に複数のダウンロードボックスを持っていない...彼らは怖がってしまう傾向がある!

答えて

1

各繰り返しで、pdfを再作成します。 forループの前に$ pdf = new FPDI(..)を移動します。そして、pdf->出力をforループの後に移動します(出力はあなたが与えたデータからpdfを生成します)。

+0

@ blejzz - それをしました。正しい方向に向いてくれてありがとう! –