繁体   English   中英

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应该格式正确,是从开始标记到结束标记的完整元素。 如果我不这样做,我的实验也会显示类似的错误。

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

$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);

您应该看到如何在字符串变量中收集完整的输出。 仅将格式良好的完整表提供给$pdf->writeHTML() 那也应该为您工作。

注意:

此代码永远不会出现在生产环境中。 如Tadman在评论中所述,将PDO或mysqli与参数化的预处理语句一起使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM