Question

I am new to Codeigniter and want to export data present in my MYSQL database into PDF file using MPDF. The code is as follows:

View:

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

Controller:

<?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');
    }
}
?>

Model:

<?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;
    }
}
?>

with this code, it is giving me a blank PDF file, with only text as 'Member Data' and 'Export as pdf'. I have checked whether it is passing data to view, and yes it is doing so. But don't know what is the matter with 'foreach' loop. I is printing everything outside 'foreach' loop, but bot the data members. Can anyone please let me know what should I do?

Thanks in advance....

Was it helpful?

Solution

Got the answer. In controller, instead of

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

I used following:

 $html = $this->load->view('member_view', $data, true);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top