我正在尝试使用ezpdf将mysql数据输出为pdf。我已经成功地生成了报告的第一部分,但第二部分有很多列,当然不会跨页生成。下图可能会解释我想做什么。
当前布局示例:
|---HEADER-|---HEADER2--|---HEADER3--|---HEADER 4-|---HEADER5-->
|用户名1|DATAFIELD1|DATAFIELD2|DATAFIELD3|DATAFIELD2|
|用户名2|DATAFIELD1|DATAFIELD2|DATAFIELD3|DATAFIELD3|
|用户名3|DATAFIELD1|DATAFIELD2|DATAFIELD3|DATAFIELD3|
我试图实现的目标示例:
|----HEADER1---|---LEADER2----|
|用户名1|DATAFIELD1|
|---HEADER3---|---HEADER4----|---HEADER5--|
|DATAFIELD2|DATAFIELD3|DATAFIELD4|
|----HEADER1---|---LEADER2----|
|用户名2|DATAFIELD1|
|---HEADER3---|---HEADER4----|---HEADER5--|
|DATAFIELD2|DATAFIELD3|DATAFIELD4|
|----HEADER1---|---LEADER2----|
|用户名3|DATAFIELD1|
|---HEADER3---|---HEADER4----|---HEADER5--|
|DATAFIELD2|DATAFIELD3|DATAFIELD4|
我希望这是有道理的。如果有人能帮忙,我们将不胜感激。
下面是我的测试代码
测试代码
在您发布的示例代码中,您在循环之前使用mysql_fetch_array($Recordset1)调用mysql_fetch _assoc($Recordset 1),因此循环将错过第一个结果。如果你在其他代码中也这样做,那么这就是问题所在。
实际上,如果您不保留旧代码,我建议您使用TCPDF从php生成PDF,它提供了很多功能。例如,将html转换为PDF代码没有任何问题。
在这种情况下,您可以创建html表,然后像本例中那样转换它们
编辑-在TCPDF中,你必须非常小心如何标记表:从你的链接中,我看到你的标记中有一个错误。您试图创建的表应该是这样的:
$tbl = '
<table border="1" cellpadding="2" cellspacing="2">
<thead>
<tr style="background-color:#FFFF00;color:#0000FF;">
<td align="center"><b>USERNAME</b></td>
<td align="center"><b>LASTNAME</b></td>
<td align="center"><b>FIRSTNAME</b></td>
</tr>
</thead>
<tbody>
<tr style="background-color:#FF0000;color:#FFFF00;">
<td align="left">' .$username. '</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
';
好的,我修复了错误并使循环正常工作。但出于某种原因,它会切断第一行数据。
$tbl = '
<table border="1" cellpadding="1" cellspacing="2">
<tr style="background-color:#666666;color:#FFFFFF;">
<td align="center"><b>TITLE 1 HERE</b></td>
<td align="center"><b>TITLE 2 HERE</b></td>
<td align="center"><b>TITLE 3 HERE</b></td>
</tr>';
while($row = mysql_fetch_array($Recordset1))
{
$tbl = $tbl .' <tr style="background-color:#000066;color:#FFFFFF;">
<td align="left">Name: '.$row[lastname].', '.$row[firstname].'</td>
</tr>'
.' <tr style="background-color:#CCCCCC;color:#000000;">
<td align="left">'.ValLesson1.'</td>
<td align="left">'.ValLesson2.'</td>
<td align="left">'.ValLesson3.'</td>
</tr>'
.'<tr style="background-color:#FFFFFF;color:#000000;">
<td align="left">'.$row[most_valuable_lesson].'</td>
<td align="left">'.$row[second_valuable_lesson].'</td>
<td align="left">'.$row[third_valuable_lesson].'</td>
</tr>'
.' <tr style="background-color:#CCCCCC;color:#000000;">
<td align="left">'.CourseStrengths.'</td>
<td align="left">'.CourseWeakness.'</td>
</tr>'
.'<tr style="background-color:#FFFFFF;color:#000000;">
<td align="left">'.$row[course_strength].'</td>
<td align="left">'.$row[course_weakness].'</td>
</tr>'
; }
$tbl = $tbl . '</table>';
$pdf->writeHTML($tbl, true, false, false, false, '');
有什么想法吗?