在我的php中,
while($info3 = mysql_fetch_array($result3)){
$Name = $info3["Name"];
$Address = $info3["Address"];
$Age = $info3["Age"];
// -----------------------------------------------------------------------------
$tbl = '
<table style="width: 638px;" cellspacing="0">
<tr>
<td style="border: 1px solid #000000; width: 150px;">'.$Name.'</td>
<td style="border: 1px solid #000000; width: 378px;">'.$Age.'</td>
<td style="border: 1px solid #000000; width: 110px; text-align:center">'.$Address.'</td>
</tr>
</table>
';
$pdf->writeHTML($tbl, true, false, false, false, '');
}
始终在我的pdf中打印整个表格。但是我想为单个实例打印<table>
和</table>
,然后想要在它们之间循环打印行。我怎么解决这个问题?
答案 0 :(得分:10)
$tbl_header = '<table style="width: 638px;" cellspacing="0">';
$tbl_footer = '</table>';
$tbl = '';
// foreach item in your array...
$tbl .= '
<tr>
<td style="border: 1px solid #000000; width: 150px;">'.$Name.'</td>
<td style="border: 1px solid #000000; width: 378px;">'.$Age.'</td>
<td style="border: 1px solid #000000; width: 110px; text-align:center">'.$Address.'</td>
</tr>
';
$pdf->writeHTML($tbl_header . $tbl . $tbl_footer, true, false, false, false, '');
答案 1 :(得分:2)
如果你的意思是你想要一个包含所有结果作为行的表,只需循环行打印并在循环外部迁移开始和结束标记。
$tbl = '<table style="width: 638px;" cellspacing="0">';
while($info3 = mysql_fetch_array($result3)){
$Name = $info3["Name"];
$Address = $info3["Address"];
$Age = $info3["Age"];
$tbl .= '<tr>
<td style="border: 1px solid #000000; width: 150px;">'.$Name.'</td>
<td style="border: 1px solid #000000; width: 378px;">'.$Age.'</td>
<td style="border: 1px solid #000000; width: 110px; text-align:center">'.$Address.'</td>
</tr>'
}
$tbl .= '</table>';
$pdf->writeHTML($tbl, true, false, false, false, '');
答案 2 :(得分:2)
我肯定会这样做:
$table = '<table style="width: 638px;" cellspacing="0">%s</table>'
$tr = '
<tr>
<td style="border: 1px solid #000000; width: 150px;"> %s</td>
<td style="border: 1px solid #000000; width: 378px;"> %s</td>
<td style="border: 1px solid #000000; width: 110px; text-align:center">%s</td>
</tr>
';
while($info3 = = mysql_fetch_array($result3)){
$trs[] = sprintf($tr, $info3["Name"], $info3["Age"], $info3["Address"]);
}
$tbl = sprintf($table, implode( $trs ));
$pdf->writeHTML($tbl, true, false, false, false, '');
如果您无法使用模板组织表示层,至少应将其与实际逻辑分开。
答案 3 :(得分:0)
$tbl = '<table style="width: 638px;" cellspacing="0">';
while($info3 = mysql_fetch_array($result3)){
$Name = $info3["Name"];
$Address = $info3["Address"];
$Age = $info3["Age"];
// -----------------------------------------------------------------------------
$tbl = $tbl . '<tr>
<td style="border: 1px solid #000000; width: 150px;">'.$Name.'</td>
<td style="border: 1px solid #000000; width: 378px;">'.$Age.'</td>
<td style="border: 1px solid #000000; width: 110px; text-align:center">'.$Address.'</td>
</tr>';
}
$tbl = $tbl . '</table>';
$pdf->writeHTML($tbl, true, false, false, false, '');