简体   繁体   English

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

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

Hi I was trying to place the foreach block in my view but i encountered 2 errors here : 嗨,我试图在我的视图中放置foreach块,但在这里遇到2个错误:

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: result

and

A PHP Error was encountered

Severity: Warning

Message: Invalid argument supplied for foreach()

Here is my view : 这是我的看法:

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

For addition i'll place the model and the controller here if it's needed : 另外,如果需要的话,我将模型和控制器放在这里:

controller : 控制器:

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

*note : i also have tried with ->result() *注意:我也尝试过->result()

model : 型号

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

I've tried this and this but still doesn't resolve my problems. 我试过这个这个 ,但还是不能解决我的问题。

By the way, i'm sorry if there's any words that doesn't look familiar to you. 顺便说一句,对不起,如果您有不熟悉的单词。 Thanks 谢谢

Try this 尝试这个

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

try this:: // Controller 试试这个:: //控制器

  public function index(){

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


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

// View //查看

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

Problem In Controller 控制器出现问题

You Store Data in $data['result'] variable but you not pass to View $data variable so you pass $data variable in controller like this in controller 您将数据存储在$ 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);
}

this work fine 这项工作很好

Change your model into this 将您的模型更改为此

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

If you want array use result_array() instead of query()->result(); 如果要使用数组,请使用result_array()而不是query()-> result();

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

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