从会话中存储的项目生成 pdf


Generating pdf from stored items in session

我正在尝试使用php和我从会话中获取的元素生成pdf。目前生成了pdf,但是我有多少项目并不重要,它总是只显示我1..第一项。我认为我的查询有问题,但找不到什么。这是我到目前为止的脚本。

$files = $_SESSION['itemid'];
if(is_array($files)) {
   foreach($files as $file) {
    $sql = "SELECT upload_id, upload_title, upload_description FROM document_upload WHERE upload_id = :id"; 
    $result = $pdo->prepare($sql);
    $result->bindParam(":id", $file);
    $result->execute();                 
    $resArray = $result->fetchAll();
    foreach ( $resArray as $res )
    {
        $pdf = new FPDF();
        $pdf->AddPage();    
        $pdf->SetFont('Arial','',18);
        $pdf->Cell(0,6,'Selected',0,1,'C');
        $pdf->SetFont('Arial','',12);   
        $pdf->Ln();
        $pdf->Cell(20,12,$res['upload_id'],1);
        $pdf->Cell(50,12,$res['upload_title'],1);
        $pdf->Cell(120,12,$res['upload_description'],1);
        $pdf->Output();
    }
   }      
}

当我print_r($files);时,我看到了Array ( [0] => 11 [1] => 12 [2] => 14 )但是当我print_r($file);进去时,我只看到11.

我正在使用 FPDF

问题是我把$pdf = new FPDF();$pdf->Output();放在循环中。当我把它们移到外面时,一切都很完美。

这是完整且有效的解决方案:

if(is_array($files)) 
{
    $pdf = new FPDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial','',18);
    $pdf->Cell(0,6,'Selected',0,1,'C');
    foreach($files as $file) 
    {
         $sql = "SELECT upload_id, upload_title, upload_description FROM document_upload WHERE upload_id = :id"; 
         $result = $pdo->prepare($sql);
         $result->bindParam(":id", $file);
         $result->execute();                 
         $resArray = $result->fetchAll();
         foreach ( $resArray as $res )
         {
              $pdf->SetFont('Arial','',12);   
              $pdf->Ln();   
              $pdf->Cell(20,12,$res['upload_id'],1);
              $pdf->Cell(50,12,$res['upload_title'],1);
              $pdf->Cell(120,12,$res['upload_description'],1);
         }
    }     
    $pdf->Output();  
}