我必须使用给定的动态数组生成表。我想每行有3个<td>
。我以为当计数器值为3时添加新行,但不知道将第二行值放入其中。我该如何为此建立逻辑?
public function mpdf_output($array)
{
$mpdf = new \Mpdf\Mpdf(['format' => 'A4-L']);
$counter = 0;
$mpdf->WriteHTML('<table style="width:100%"><tr>');
foreach($array as $barcode)
{
$mpdf->WriteHTML('<td><p style="float:left;">code</p>');
$mpdf->WriteHTML('<barcode code="'.$barcode['code'].'" type="C128B" class="barcode" />');
$mpdf->WriteHTML('<p>'.$barcode['img'].'</p></td>');
$counter++;
if($counter == 3)
{
$mpdf->WriteHTML('Counter restarted');
$counter = 0;
}
}
$mpdf->WriteHTML('</tr></table>');
$mpdf->Output();
}
正如Paritosh所说,您需要将完整的<table>
标记传递给mPDFs WriteHTML
方法,以使其正确处理。但是,您似乎只想在PDF中使用三列布局。如果是这样,我会选择简单得多的float
解决方案:
$html = '';
foreach($array as $barcode)
{
$html .= '<div style="float: left; width: 33%;">code<barcode code="'.$barcode['code'].'" type="C128B" class="barcode" />' . $barcode['img'] .'</div>');
}
$mpdf->WriteHTML($html);