2012-04-25 180 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'); 
} 

同樣有四個結果在表中,但只有最後一次記錄被輸出到PDF,我想所有的結果出現在他們的個人頁面,所有在同一份報告中,真的不想在用戶屏幕上有多個下載框......他們往往會受到驚嚇!

回答

1

在每個迭代中重新創建pdf。在for循環之前移動$ pdf = new FPDI(..)。並在for循環之後移動pdf-> Output(輸出根據您提供的數據生成pdf)。

+0

@ blejzz - 做到了。感謝你指點我正確的方向! – 2012-04-25 19:22:20