Я новичок в 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?
Вы не можете использовать цикл непосредственно внутри 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 }
используйте mpdf insted tcpdf, если вы ищете данные из базы данных и помещаете в html и создаете pdf.
Документы и библиотека mpdf