TCPDF MYSQL数据检索和打印在html表格中


TCPDF MYSQL data retrieval and print in html table

我使用tcpdf在我的网站中生成pdf。。。

我使用该代码从mysql中检索数据,并将其显示在pdf文件的表格中。。。

$pdf->writeHTML('<table width="600px" border="1px">');
    //data iteration
        include('../connect.php');
         $rer = mysql_query("SELECT * FROM complaint WHERE DATE_FORMAT(date_time,'%Y-%m-%d') between '$rep_from' and '$rep_to' order by id DESC;",$con);
    while($rr=mysql_fetch_array($rer))
    {
    $id=$rr['id'];
    $c_id=$rr['ref_id'];
    $pdf->writeHTML('<tr><td>'.$c_id.'</td></tr>');
    }
    $pdf->writeHTML('<table>');

问题是代码和迭代工作得很好。。。但当我使用表格标签时,我会显示

Warning: array_push() expects parameter 1 to be array, null given in tcpdf.php on line 22165

文件中的这一行与表有关。。。我的代码出了什么问题???

提前感谢。。。

文档指出HTML应该格式良好,我理解这一点,即它应该是格式良好的,从开始标记到结束标记的完整元素。如果我不这么做的话,我的实验也显示出类似的错误。

因此,您可以将此示例代码重写为:

$html = '<table width="600px" border="1px">';
//data iteration
include('../connect.php');
$rer = mysql_query("SELECT * FROM complaint WHERE DATE_FORMAT(date_time,'%Y-%m-%d') between '$rep_from' and '$rep_to' order by id DESC;",$con);
while($rr=mysql_fetch_array($rer))
{
    $id=$rr['id'];
    $c_id=$rr['ref_id'];
    // concatenate a string, instead of calling $pdf->writeHTML()
    $html .= '<tr><td>'.$c_id.'</td></tr>';
}
$html .= '</table>';
$pdf->writeHTML($html);

您应该看到完整的输出是如何收集到字符串变量中的。只给CCD_ 1一个形式良好的完整表。这也应该对你有用。

注意:

此代码永远不应该看到生产。正如tadman在评论中所说,使用带有参数化准备语句的PDO或mysqli。