2012-04-25 6 views
0

목표는 MySQL 쿼리를 실행하고 출력을 foreach에 저장 한 다음 모든 결과를 멋진 FPDF 라이브러리를 사용하여 pdf 문서로 덤프하는 것입니다. 그러나 마지막 결과 레코드 만이 pdf 라이브러리에 포함됩니다. 여기 PHP FPDF ForEach 루프

$sql1 = "SELECT 
mytable.AddressLine1, 
mytable.OrgID 
FROM 
mytable"; 
$results = $db->query($sql1); 

내 PHP입니다 : 여기 는 MySQL의 쿼리입니다

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 (..)를 이동하십시오. 그리고 pdf-> Output을 for 루프 다음으로 이동하십시오 (출력은 사용자가 지정한 데이터에서 pdf를 생성합니다).

+0

@ blejzz - 그랬습니다. 나를 올바른 방향으로 가리켜 주셔서 감사합니다! –