在数据库中用逗号分隔多个值,并使用 foreach 使用 FPDF 打印到 PDF

Separating multiple values by comma in database, and printing to PDF with FPDF using foreach

如果这个问题解释得不好,我很抱歉,但我真的不知道怎么问。我是 FPDF 的新手,我正在尝试生成一个 PDF 文件,其中包含数据库中的一些值。当用户向 table 中插入值时,他们可以选择是否要将多行放入同一列。如果是这样,数据库中的 2 个不同值由 \n\n 分隔。然后在 FPDF 中,我希望它在注意到 \n\n(新行)时打印出每个值。检查下面的代码。

$i = 1;
foreach ($row as $row) {
    $pdf->Write(5, numberToRomanRepresentation($i).".");
    $pdf->SetLeftMargin(35);
    $pdf->SetRightMargin(35);
    $pdf->SetFont('Times','BU',12);
    $pdf->Write(5, $row['law_broken']);
    $pdf->Ln(5);
    $i += $i;
}

我尝试查找如何使用 explode(",", $row['law_broken']) "notice" 新行,但没有成功。我还有希望吗?

谢谢


编辑 1:

将代码更改为如下所示:

$i = 1;
$row2['law_broken'] = explode(', ', $row2['law_broken']);
foreach ($result as $row2) {
    $pdf->Write(5, numberToRomanRepresentation($i).".");
    $pdf->SetLeftMargin(35);
    $pdf->SetRightMargin(35);
    $pdf->SetFont('Times','BU',12);
    $pdf->Write(5, $row2['law_broken']);
    $pdf->Ln(5);
    $i += $i;
}

还将数据库中的值更改为用逗号分隔而不是 \r\n
不过还是不走运。

由于 explode 的结果是一个数组,您需要遍历每个元素输出每个元素。您可能需要调整线条的位置,但这应该会让您指向正确的方向。

foreach ($result as $row2) {
    $pdf->Write(5, numberToRomanRepresentation($i).".");
    $pdf->SetLeftMargin(35);
    $pdf->SetRightMargin(35);
    $pdf->SetFont('Times','BU',12);
    $law_broken = explode(', ', $row2['law_broken']);
    foreach ($law_broken as $lawline) {
        $pdf->Write(5, $lawline);
        $pdf->Ln(5);
    }  // end of foreach through each of the law_broken entries
}  // end of foreach through the results