Invalid argument supplied for foreach() in Codeigniter

前端 未结 3 1284
[愿得一人]
[愿得一人] 2021-01-07 07:41

I am getting error message: Invalid argument for foreach() in my View. I wanted to display all entries in my mysql table but i kept on getting error message. I am a newbie i

相关标签:
3条回答
  • 2021-01-07 08:15

    The query in your model is returning either string or object data, instead of an array. The 'foreach' loop function accepts an array as its first argument.

    0 讨论(0)
  • 2021-01-07 08:24

    I think this code modular:

    public function getAll() {
        $this->db->select('bcode, bname, btel, badd');
        $this->db->from('branches');
    
        $query = $this->db->get('branches');
    
        return $this->db->query($query)->result_array();
    }
    
    0 讨论(0)
  • 2021-01-07 08:33

    you need to do a check before starting to iterate for the data, like: model code:

    public function getAll() {
        $results = array();
        $this->db->select('bcode, bname, btel, badd');
        $this->db->from('branches');
    
        $query = $this->db->get();
    
        if($query->num_rows() > 0) {
            $results = $query->result();
        }
        return $results;
    }
    

    view code:

    if( !empty($results) ) {
        foreach($results as $row) {
            echo '<tr>';
            echo '<td>'.$row->bcode.'</td>';
            echo '<td>'.$row->bname.'</td>';
            echo '<td>'.$row->btel.'</td>';
            echo '<td>'.$row->badd.'</td>';
            echo '</tr>';
        }
    }
    
    0 讨论(0)
提交回复
热议问题