首页 文章

将多个变量从控制器传递到codeigniter中的视图

提问于
浏览
1

如何在控制器中将多个变量从控制器传递到视图?

这是我的控制器:

function viewmembers(){
            $this->load->model('UsersModel');
            $data['students'] = $this->UsersModel->studentlist_all();
            $data['user'] = $this->UsersModel->select_admin($id);
            $this->load->view('portal/viewstudents', $data);
    }

以下是我的看法:

foreach($user as $user_select){
                            $id = $user_select['USERNAME']; 
                            $fname = $user_select['FNAME'];
                            $mname = $user_select['MNAME'];
                            $lname = $user_select['LNAME'];
                            $nick = $user_select['NICK'];
                            }
    echo $nick;

它给了我“未定义的变量:缺口” .

我也试过print_r($ user),但它给了我一个值“Array()”

虽然print_r($ students)也有效

1 回答

  • 0

    result_array() 不会返回单行 . 如果你想要单行,那么你应该使用 row_array() . 另外,在 where condition 中,你试图将 username 字段与 id 匹配,这是错误的 . 所以,你的方法必须如下:

    public function select_admin($id){
         $this->db->select('*');
         $this->db->from('admins'); 
        $this->db->where('id',$id); 
        $query = $this->db->get();
         return $query->row_array();
         }
    

    并在视图中回显字段值:

    echo $user['your_field_value_name'];
    

    如果你想探索更多,那么看看doc

相关问题