【问题标题】:TCPDF MYSQL data retrieval and print in html tablehtml表中TCPDF MYSQL数据检索和打印
【发布时间】:2014-10-28 09:29:02
【问题描述】:

我使用 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

文件中的这一行与表格有关...我的代码有什么问题???

提前谢谢...

【问题讨论】:

  • 我没有看到任何array_push() 的调用,但我会简单地使用$your_array[] = 'some value';
  • 显示 tcpdf.php 第 22165 行您使用 array_push() 的位置,以及您在 array_push() 中声明使用的数组的位置
  • 您是否注意到 this note 关于 writeHTML:注意: 所有 HTML 属性必须用双引号括起来。
  • 这看起来非常不安全。您确定您的用户参数是properly escaped 吗? mysql_query 是一个过时的接口,不应在新应用程序中使用,并将在 PHP 的未来版本中删除。像PDO is not hard to learn 这样的现代替代品。如果您是 PHP 新手,PHP The Right Way 之类的指南可以帮助您解释最佳实践。
  • 您必须将您的 HTML 表格连接到一个字符串中。这就是这个类的工作方式。如果需要,我曾经设法自己连接这些字符串。而不是输出它,而是将它添加到您的字符串中。

标签: php mysql tcpdf


【解决方案1】:

文档指出 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-&gt;writeHTML()。这也应该对你有用。

注意:

这段代码不应该看到生产。正如 tadman 在他的评论中所说,使用 PDO 或 mysqli 和参数化的准备好的语句。

【讨论】:

  • 感谢您的回复,我使用 concat 得到了解决方案... :)
猜你喜欢
  • 1970-01-01
  • 2020-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多