问题描述
我正在考虑使用 tcpdf。
// Set some content to print
$html = <<<EOD
<h1>Welcome to </h1>
etc..
EOD;
// Print text using writeHTMLCell()
$pdf->writeHTMLCell(0,'',$html,1,true,true);
现在我想要在 html 部分,例如:
$html = <<<EOD
<h1>Welcome to !</h1><table>
$resultcvp = $conn->query($sqlcvp);
if ($resultcvp->num_rows > 0) {
// output data of each row
while($row = $resultcvp->fetch_assoc()) {
echo "<tr><td>" . $row["PARTNUMBER"]. " </td><td> " . $row["DESCRIPTION"]. "</td><td> " . $row["AMOUNT"]. "</td></tr>";
}
};
</table>
EOD;
};
但是无论我尝试什么,我都无法在 pdf 中加载这个 while 语句结果。 有什么想法吗?谢谢!
解决方法
当您处于代码的 HEREDOC 部分时,您不能执行循环和查询。您需要在循环过程中构建 HTML。
$html = '<h1>Welcome to !</h1><table>';
$resultcvp = $conn->query($sqlcvp);
if ($resultcvp->num_rows > 0) {
while($row = $resultcvp->fetch_assoc()) {
$html .= '<tr><td>' . $row["PARTNUMBER"]. ' </td><td> ' . $row["DESCRIPTION"]. '</td><td> ' . $row["AMOUNT"]. '</td></tr>';
}
};
$html .= '</table>';
$pdf->writeHTMLCell(0,'',$html,1,true,true);