我以前从未在vign下的Codeigniter中导出到PDF MySQL。但是当我切换到v3.1.0时,在foreach中导出到PDF时出现问题,怎么了?

埃罗


  遇到PHP错误
  
  严重程度:注意
  
  消息:未定义的偏移量:1
  
  文件名:html2pdf / html2pdf.class.php


控制器

public function print_data(){
    ob_start();
    $class= $this->uri->segment(3);
    $data = array(
                    'get_data' => $this->My_model->detail_id_data($class)
    );
    $this->load->view('print_detail_data', $data);
    $html = ob_get_contents();
    ob_end_clean();

    require_once('./assets/html2pdf/html2pdf.class.php');
    $pdf = new HTML2PDF('P', 'A4', 'en', true, 'UTF-8', 3);
    $pdf->WriteHTML($html);
    $pdf->Output('id_detail.pdf');
}

Models

    function detail_id_data($class) {
        $query = $this->db->select('*')
                          ->from('tb_student')
                          ->where('class', $id_data)
                          ->get();

        if ($query->num_rows() > 0) {
            foreach ($query->result() as $data) {
                $hasil[] = $data;
            }
            return $hasil;
        }
    }


观看次数

<table style="width: 100%; border: solid 1px black;">
    <thead>
      <tr>
        <th>ID</th>
        <th>Name </th>
        <th>Class</th>
        <th>Study</th>
      </tr>
    </thead>
    <tbody>
    <?php
        $no=1;
        foreach ($get_data as $row){
    ?>
      <tr>
        <td><?php $no; ?></td>
        <td><?php echo $row->name; ?></td>
        <td><?php echo $row->class; ?></td>
        <td><?php echo $row->study; ?>f</td>
      </tr>
    <?php $no++; } ?>
    </tbody>
</table>

最佳答案

在模型中,使用row()代替result() .. hope将起作用。

if ($query->num_rows() > 0) {
            foreach ($query->row()) as $data) {
                $hasil[] = $data;
            }
            return $hasil;
        }


像这样改变你的看法。

<table style="width: 100%; border: solid 1px black;">
    <thead>
      <tr>
        <th>ID</th>
        <th>Name </th>
        <th>Class</th>
        <th>Study</th>
      </tr>
    </thead>
    <tbody>
    <?php
        $no=1;
        foreach ($get_data as $row){
    ?>
      <tr>
        <td><?php $no; ?></td>
        <td><?php echo $row['name']; ?></td>
        <td><?php echo $row['class']; ?></td>
        <td><?php echo $row['study']; ?>f</td>
      </tr>
    <?php $no++; } ?>
    </tbody>
</table>


在控制器中

代替它..

 $data = array(
                    'get_data' => $this->My_model->detail_id_data($class)
    );


通过

$data['get_data'] = $this->My_model->detail_id_data($class);


您是否获得$class的值。请尝试以下方法

echo $class;

关于php - 在codeigniter中使用html2pdf导出pdf上的foreach错误数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41168606/

10-09 17:12