Codeigniter - MPDF不导出数据

时间:2013-03-02 12:01:47

标签: codeigniter mpdf

我是Codeigniter的新手,想要使用MPDF将我的MYSQL数据库中的数据导出为PDF文件。代码如下:

查看:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Export PDF</title>
    </head>
    <body>
        <div id="container">
            <h4>Member Data</h4>
            <table border="1">
                <tr>
                    <th>group_id</th>
                    <th>group_name</th>
                    <th>Archieved</th>
                </tr>
                <?php
                foreach ($member as $rows) {
                    echo $rows['group_id'];
                    ?>
                    <tr>
                        <td><?php echo $rows['group_id'] ?></td>
                        <td><?php echo $rows['group_name']?></td>
                        <td><?php echo $rows['archieved'] ?></td>
                        </tr>
                        <?php
                        $i++;
                    }
                    ?>
            </table>
            <br> <br>
            <a href='<?php echo base_url(); ?>index.php/member_con/topdf'><span style='color:green;'>Export to Pdf</span></a>
        </div>
        <?php
        ?>
    </body>
</html>

控制器:

<?php

class Member_con extends CI_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->model('member_model');
        $this->load->helper('url');
        $this->load->library('mpdf');
    }
    public function index() {
        $data['member'] = $this->member_model->alldata();
        $this->load->view('member_view', $data);
    }
    function topdf() {
        $this->mpdf->useOnlyCoreFonts = true;
        $filename = "VISH";
        $data['member'] = $this->member_model->alldata();
        $html = $this->load->view('member_view', $data['member'], true);
        $this->mpdf->setTitle('Posts');
        $this->mpdf->writeHTML($html);
        $this->mpdf->output($filename, 'D');
    }
}
?>

型号:

<?php
  class Member_model extends CI_Model {
      function __construct() {
        parent::__construct();
                $this->load->database();

    }
    function Member_Model() {
        parent::Model();
    }
    function alldata()
    {
        $this->db->select('*');
        $this->db->from('groups');
        $this->db->order_by('group_id','ASC');
        $getData = $this->db->get();
        if($getData->num_rows() > 0)
        return $getData->result_array();
        else return null;
    }
}
?>

使用此代码,它给我一个空白的PDF文件,只有文本为“会员数据”和“导出为PDF格式”。我已经检查了它是否正在传递数据进行查看,是的,它正在这样做。 但是不知道'foreach'循环是什么问题。我正在'foreach'循环之外打印所有内容,但是对数据成员进行操作。谁能告诉我我该怎么办?

提前致谢....

1 个答案:

答案 0 :(得分:1)

得到了答案。在控制器中,而不是

 $html = $this->load->view('member_view', $data['member'], true);

我使用了以下内容:

 $html = $this->load->view('member_view', $data, true);