繁体   English   中英

错误未定义的变量:结果+错误为CodeIgniter 2中的foreach()提供了无效的参数

[英]Error Undefined variable: result + Error Invalid argument supplied for foreach() in CodeIgniter 2

嗨,我试图在我的视图中放置foreach块,但在这里遇到2个错误:

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: result

A PHP Error was encountered

Severity: Warning

Message: Invalid argument supplied for foreach()

这是我的看法:

<?php foreach($result as $data_barang):?>
 <tr>
  <td><?php echo $data_barang->barang.kode_item;?></td>
  <td><?php echo $data_barang->nama_item;?></td>
  <td><?php echo $data_barang->nama_ruang;?></td>
  <td><?php echo $data_barang->jml_item_kondisi;?></td>
  <td><?php echo $data_barang->kondisi;?></td>
 </tr>
<?php endforeach;?>

另外,如果需要的话,我将模型和控制器放在这里:

控制器:

public function index(){
    // load data barang yg akan ditampilkan
    $data['result']=$this->admin_model->get_data_table()->result_array();

    // load view
    $this->load->view('dashboard_admin');
}

*注意:我也尝试过->result()

型号

function get_data_table(){
    $query_result = $this->db->query('SELECT barang.kode_item, nama_item, nama_ruang, jml_item_kondisi, kondisi 
        FROM barang 
        INNER JOIN info_barang ON barang.kode_item = info_barang.kode_item 
        INNER JOIN (
            SELECT ruang.nama_ruang, campur_table.kode_item 
            FROM ruang 
            INNER JOIN rekap_isi_ruang AS campur_table ON campur_table.nomor_ruang = ruang.nomor_ruang) AS barang_campur 
        ON barang.kode_item = barang_campur.kode_item');
    return $query_result;
}

我试过这个这个 ,但还是不能解决我的问题。

顺便说一句,对不起,如果您有不熟悉的单词。 谢谢

尝试这个

public function index(){
    // load data barang yg akan ditampilkan
    $data['result']=$this->admin_model->get_data_table()->result_array();

    // load view
    $this->load->view('dashboard_admin',$data);
}

试试这个:: //控制器

  public function index(){

        $data['result']=$this->admin_model->get_data_table()->result_array();


        $this->load->view('dashboard_admin',$data);
    }

//查看

<?php
 if(!empty(result)) {
 foreach($result as $data_barang):?>
 <tr>
  <td><?php echo $data_barang->barang.kode_item;?></td>
  <td><?php echo $data_barang->nama_item;?></td>
  <td><?php echo $data_barang->nama_ruang;?></td>
  <td><?php echo $data_barang->jml_item_kondisi;?></td>
  <td><?php echo $data_barang->kondisi;?></td>
 </tr>
<?php

 endforeach;
} else { ?>
<tr>
  <td colspan="5">Some message here</td>
 </tr>

控制器出现问题

您将数据存储在$ data ['result']变量中,但没有传递给View $ data变量,因此在控制器中像这样在控制器中传递$ data变量

public function index(){
// load data barang yg akan ditampilkan
$data['result']=$this->admin_model->get_data_table()->result_array();

// load view
$this->load->view('dashboard_admin',$data);
}

这项工作很好

将您的模型更改为此

function get_data_table(){
    $query_result = $this->db->query('SELECT barang.kode_item, nama_item, nama_ruang, jml_item_kondisi, kondisi 
        FROM barang 
        INNER JOIN info_barang ON barang.kode_item = info_barang.kode_item 
        INNER JOIN (
            SELECT ruang.nama_ruang, campur_table.kode_item 
            FROM ruang 
            INNER JOIN rekap_isi_ruang AS campur_table ON campur_table.nomor_ruang = ruang.nomor_ruang) AS barang_campur 
        ON barang.kode_item = barang_campur.kode_item')->result();
    return $query_result;
}

如果要使用数组,请使用result_array()而不是query()-> result();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM