【问题标题】:Error Undefined variable: result + Error Invalid argument supplied for foreach() in CodeIgniter 2错误未定义变量:结果+错误为 CodeIgniter 2 中的 foreach() 提供的参数无效
【发布时间】:2016-05-12 06:57:48
【问题描述】:

您好,我试图将 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');
}

*注意:我也尝试过-&gt;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;
}

我尝试了thisthis,但仍然无法解决我的问题。

顺便说一句,如果有任何你觉得不熟悉的词,我很抱歉。谢谢

【问题讨论】:

    标签: php codeigniter foreach error-handling exception-handling


    【解决方案1】:

    试试这个

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

    【讨论】:

    • 感谢它有效! :) 但不幸的是,我还有另一个错误,我认为它与我之前的问题无关。'消息:使用未定义的常量 kode_item - 假定'kode_item'和'消息:未定义的属性:stdClass::$barang'.. 似乎我的查询有问题。如果我无法解决,也许我应该发布另一个问题
    【解决方案2】:

    控制器中的问题

    您将数据存储在 $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);
    }
    

    这项工作很好

    【讨论】:

    • 感谢它有效! :) 但不幸的是,我还有另一个错误,我认为它与我之前的问题无关。'消息:使用未定义的常量 kode_item - 假定'kode_item'和'消息:未定义的属性:stdClass::$barang'.. 似乎我的查询有问题.. 如果我无法解决它,也许我应该发布另一个问题.. 抱歉,我现在不能投票给你
    【解决方案3】:

    把你的模型改成这个

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

    【讨论】:

    • 感谢它有效! :) 但不幸的是,我还有另一个错误,我认为它与我之前的问题无关。'消息:使用未定义的常量 kode_item - 假定'kode_item'和'消息:未定义的属性:stdClass::$barang'.. 似乎我的查询有问题。如果我无法解决,也许我应该发布另一个问题
    • 如果答案有效,请点赞。我们将为您找到另一个问题的解决方案。
    • 如果与此无关。我想建议你问不同的问题。你可以先找到解决方案。我也很乐意为您提供帮助。
    • 'kode_item' 和 'Message' 字段未在查询中选择
    • 您只需检索查询中的字段。希望对你有帮助
    【解决方案4】:

    试试这个:: // 控制器

      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>
    

    【讨论】:

    • 感谢它有效! :) 但不幸的是,我还有另一个错误,我认为它与我之前的问题无关。'消息:使用未定义的常量 kode_item - 假定'kode_item'和'消息:未定义的属性:stdClass::$barang'.. 似乎我的查询有问题.. 如果我无法解决它,也许我应该发布另一个问题.. 抱歉,我现在不能投票给你
    猜你喜欢
    • 1970-01-01
    • 2016-04-14
    • 2020-04-19
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多