2013-03-02 53 views
2

我是Codeigniter的新用户,希望使用MPDF将我的MYSQL数据库中存在的数据导出为PDF文件。代码如下:Codeigniter - MPDF不导出数据

查看:

<!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

得到了答案。在控制器代替

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

中,我使用以下:

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