TCPDF如何创建包含循环内容的表?

时间:2017-03-01 12:37:54

标签: php mysql foreach html-table tcpdf

我想为我的TCPDF创建一个表,其中的内容是从mySQL数据库中插入的:

$html = '<table nobr="true">';
$pdf->writeHTML($html, true, false, true, false, '');

    $pdo = $db->prepare("SELECT * FROM data WHERE id=?");  
    $pdo->execute(array($id)); 
    while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {  
    $html = '<tr><td>'.$row['name'].'</td></tr>';
    $pdf->writeHTML($html, true, false, true, false, '');
} 

$html = '</table>';
$pdf->writeHTML($html, true, false, true, false, '');

但是我收到了很多错误消息:

Notice: Undefined index: rows in ...
Warning: array_push() expects parameter 1 to be array, null given in...
Notice: Undefined variable: cellspacingx in...
Notice: Undefined variable: cellspacing in... 
Notice: Undefined index: rows in...

它必须与表格有关。但我不知何故需要创建一个不会被新页面打破的表。

更新:

我现在测试了另一个解决方案:

$a = '<table nobr="true">';

    $pdo = $db->prepare("SELECT * FROM data WHERE id=?");  
    $pdo->execute(array($id)); 
    while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {  
    $b .= '<tr><td>'.$row['name'].'</td></tr>';

} 

$c = '</table>';
$pdf->writeHTML($a.$b.$c, true, false, true, false, '');

但仍然有错误:

  

注意:未定义的变量:b

1 个答案:

答案 0 :(得分:0)

操作写道:

  

我终于有了一个有效的解决方案:

$a = '<table nobr="true">';

$pdo = $db->prepare("SELECT * FROM data WHERE id=?");  
$pdo->execute(array($id)); 
$b = '';
while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {  
$b .= '<tr><td>'.$row['name'].'</td></tr>';

} 

$c = '</table>';
$pdf->writeHTML($a.$b.$c, true, false, true, false, '');