如何在EOD tcpdf中显示我的foreach中的数据?

时间:2017-01-29 04:48:04

标签: php codeigniter tcpdf

我是tcpdf中的新手..我正在做一个我正在使用tcpdf的项目(因为我想在pdf中导出我的表,其中有一个模板)。我试着做一些研究,我发现了方法writeHTML()。在这个方法中,我现在可以制作任何html标签

控制器

public function testing(){
        $this->load->library('Pdf');
        $this->load->model('newModel');
        $data['accounts'] = $this->newModel->get('users');
        $this->load->view('admin/testing',$data);
    }

查看

$txt = <<<EOD
<table cellspacing="0" cellpadding="1" border="1">
    <tr>

        <td>COL 2 - ROW 1</td>
        <td>COL 3 - ROW 1</td>
    </tr>
    <tr>
        <?php foreach($accounts as $try):?>
        <td>$try->first_name</td>
        <td>Hala2   </td>
        <?php endforeach?>
    </tr>


</table>
EOD;
$pdf->writeHTML($txt, true, false, false, false, '');

模型

public function get($table)
    {
        $result = $this->db->get($table);
        return $result->result();
    }

问题:如何在EOD中显示我的所有数据?有没有像writePHP()这样的方法?允许我做一些PHP编码吗?

2 个答案:

答案 0 :(得分:0)

你不能直接在here document(<<<)内使用循环。你必须连接。就像这个

  <?php
$accounts = array('name'=>'angle');//assumed array
//print_r($accounts);
$txt = <<<EOD
 <table cellspacing="0" cellpadding="1" border="1">
    <tr>

        <td>COL 2 - ROW 1</td>
        <td>COL 3 - ROW 1</td>
    </tr>
EOD;
foreach($accounts as $key=>$value){
$txt.=<<<EOD
    <tr>
      <td>{$accounts['name']}</td>
      <td>It is easy</td>
    </tr>
EOD;
 }
$txt.=<<<EOD

</table>
EOD;

echo $txt;
?>

在你的模型中以数组格式重新生成结果。所以你可以尝试上面的

public function get($table)
    {
        $result = $this->db->get($table);
        return $result->result_array();//it returns result in array format
    }

答案 1 :(得分:-1)

如果您正在寻找从数据库获取数据并将其放入html并创建pdf,请使用mpdf insted tcpdf。

mpdf docs and library