[英]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.