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条)

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?