2

私はCodeigniterを初めて使用し、MYSQLデータベースに存在するデータをMPDFを使用して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'ループの外側にすべてを出力していますが、データメンバーをボットしています。誰か私に何をすべきか教えてもらえますか?

前もって感謝します....

4

1 に答える 1

1

答えを得た。コントローラでは、代わりに

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

私は以下を使用しました:

 $html = $this->load->view('member_view', $data, true);
于 2013-03-02T12:21:12.843 に答える