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);
    }
    
    已采纳该答案
    打赏 评论
  • dongyuan8312 2015-09-07 12:27

    There is not any $user_list variable defined in controller code.

    print $data in your view.

      <?php 
       print_r($data);
       exit();
      ?>
    
    打赏 评论

相关推荐 更多相似问题