douhao2011 2015-09-07 12:09
浏览 72
已采纳

从Controller传递数组到codeigniter中查看

hi I m new in mongodb and codeigniter I have try to make simple CRUD operation in mongodb and php codeigniter I m trying to pass my array from Controller to view but it could not be done it gives an error A PHP Error was encountered

Severity: Notice

Message: Undefined variable: user_list

Filename: views/show_user.php

Line Number: 15

here is my code for Controller

class user extends CI_Controller
{
    public function __construct()
    {
         parent::__construct();
         //loading  the mongodb library
         $this->load->model('mongo_model');
    }

   //index where the controller starts
    public function index() 
    {
        $collection = $this->mongo_model->selectCollectiondb();
        $collection= iterator_to_array($collection);
        foreach ($collection as $users)
        {
        $data['_id']=$users['_id'];
        $data['firstname']=$users['firstname'];
        $data['lastname']=$users['lastname'];
        $data['email']=$users['email'];
        $data['password']=$users['password'];
        }
        print_r($data);
        $this->load->view('show_user',$data);
    }
}

Code for view is

<?php 
print_r($user_list);
exit();
<?php }?>
  • 写回答

2条回答 默认 最新

  • du248227 2015-09-07 12:28
    关注

    You are not passing proper array to variable to to view.

    CodeIgniter passes variables/arrays from controller to view in the form of a parent array.

    In your case, $data.

    The keys of $data will become variables in view appended with $ symbol.

    Virtually, in views, $data is extract() ed.

    Corrected code:

    public function index()  {
      $collection = $this->mongo_model->selectCollectiondb();
      $collection= iterator_to_array($collection);
      $user_list = array();
      foreach ($collection as $users) {
        $data['_id']=$users['_id'];
        $data['firstname']=$users['firstname'];
        $data['lastname']=$users['lastname'];
        $data['email']=$users['email'];
        $data['password']=$users['password'];
        $user_list[$users['_id']]['firstname'] = $users['firstname'];
        $user_list[$users['_id']]['lastname'] = $users['lastname'];
        $user_list[$users['_id']]['email'] = $users['email'];
        $user_list[$users['_id']]['password'] = $users['password'];
      }
      $data['user_list'] = $user_list;
      print_r($data);
      $this->load->view('show_user',$data);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能