【问题标题】:FPDF - PHP While loop only returns first valueFPDF - PHP While 循环只返回第一个值
【发布时间】:2012-02-26 16:51:24
【问题描述】:

我有这个代码:

  while ($row = mysql_fetch_array($result)) {
  $pdf=new PDF();
  $pdf->AliasNbPages();
  $pdf->AddPage();
  $pdf->SetFont('Times','',12);

  $pdf->SetFont('Arial','B',16);
  $pdf->Cell(42,10, "".$row["firstname"].$row["lastname"]);
  $pdf->Output();
  } 

它只生成结果的第一个值(1 个 pdf 页)。应该有 9 个结果或 pdf 页。在这种情况下,所有玩家的名字和姓氏出现在 9 个单独的 pdf 页面中。

我尝试了以下 PHP 方式,但它也不起作用。

while () {

 } echo "": 

有什么想法吗?

【问题讨论】:

    标签: php pdf loops while-loop fpdf


    【解决方案1】:

    这应该是你所追求的

      $pdf = new PDF();
      $pdf->AliasNbPages();
      $pdf->SetFont('Arial','B',16);
    
      while ($row = mysql_fetch_array($result)) {
          $pdf->AddPage();
          $pdf->Cell(42, 10, $row["firstname"] . " " . $row["lastname"]);
      } 
    
      $pdf->Output();
    

    【讨论】:

    • 感谢您的回答。它确实显示了所有玩家,但在同一页面上。如何重新排列它们以便为每个玩家创建一个页面?
    • @user1155174 我已经更新了答案。看,while 循环中的代码在每次传递时都会执行。将addPage() 移动到内部确实会为每个迭代的项目创建一个单独的页面。
    • Nvm 我找到了办法。我刚刚在 while 循环中传输了“Addpage”。