Php 在codeigniter视图中使用foreach生成选择选项

Php 在codeigniter视图中使用foreach生成选择选项,php,codeigniter,Php,Codeigniter,我正在使用codeigniter生成一些html选项,但我只得到一个结果,即表中的第一个结果 这是我的控制器 public function edit_event($id = 0){ $id = $this->uri->segment(3); $current_id = $this->ion_auth->get_user_id(); $data['data'] = $this->as->the_event_edit($id);

我正在使用codeigniter生成一些html选项,但我只得到一个结果,即表中的第一个结果

这是我的控制器

public function edit_event($id = 0){
    $id = $this->uri->segment(3);
    $current_id = $this->ion_auth->get_user_id();
    $data['data'] = $this->as->the_event_edit($id);
    $data['groups'] = $this->as->the_groups_list($current_id);
    $this->load->view('editevent',$data);
    }
这是我的模型

public function the_groups_list($current_id){
    $query = $this->db->get_where('all_groups', array('group_owner' => $current_id));
    foreach ($query->result() as $row)
    {
    $data = array(
               'group_title' => $row->group_title,
               'group_name' => $row->group_name,
               'group_owner' => $row->group_owner
          );  
          return $data;
    }
    }
这是另一种型号

public function as_event_edit($id){
    $query = $this->db->get_where('all_scheduled_messages', array('id' => $id));
    foreach ($query->result() as $row)
    {
    $data = array(
               'as_title' => $row->as_title,
               'as_event_name' => $row->as_event_name,
               'as_owner' => $row->as_owner,
               'as_type' => $row->as_type,
               'as_target_dataset' => $row->as_target_dataset,
               'as_timestamp' => $row->as_timestamp,
               'as_time' => $row->as_time,
               'as_day' => $row->as_day
          );  
          return $data;
    }
    }
然后,我在视图中使用
$groups['group\u title']
,仅显示第一个组标题,即使我从其他行中有4个组标题


如何返回一个数组并将其传递给视图,以便使用foreach迭代和显示组标题?

将模型从
$data=
更改为
$data[]=
,以插入每一行,而不是仅插入一行

在组上的视图循环中,如下所示:

foreach ($data as $group) {
    echo "Title" . $groups['group_title'];
}

RTM:

在控制器中:将$data['data']重命名为$data['event']

$data['event'] = $this->as->the_event_edit($id);
$data['groups'] = $this->as->the_groups_list($current_id);
$this->load->view('editevent',$data);
在你看来:

foreach ($event as $items) {
    var_dump($items);
}

foreach ($groups as $group) {
    var_dump($group);
}

在模型中,您没有创建多维数组。您需要使用计数器添加密钥:

$data = array();
$i=0;
foreach ($query->result() as $row){

  $data[$i]['as_title'] = $row->as_title;
  $data[$i]['as_event_name'] = $row->as_event_name;
  $data[$i]['as_owner'] = $row->as_owner;
  $data[$i]['as_type'] = $row->as_type;
  $data[$i]['as_target_dataset'] = $row->as_target_dataset;
  $data[$i]['as_timestamp'] = $row->as_timestamp;
  $data[$i]['as_time'] = $row->as_time;
  $data[$i]['as_day'] = $row->as_day;

  $i++;

);  
return $data;
或者使用传入数组的键

$data = array();
foreach ($query->result() as $id => $row){

  $data[$id]['as_title'] = $row->as_title;
  $data[$id]['as_event_name'] = $row->as_event_name;
  $data[$id]['as_owner'] = $row->as_owner;
  $data[$id]['as_type'] = $row->as_type;
  $data[$id]['as_target_dataset'] = $row->as_target_dataset;
  $data[$id]['as_timestamp'] = $row->as_timestamp;
  $data[$id]['as_time'] = $row->as_time;
  $data[$id]['as_day'] = $row->as_day;

);  
return $data;

使用
$data[]=array(…
而不是
$data=array(
我应该如何在视图中访问它?我忘了提到我有另一行将一些其他数据传递到视图
$data['data']=$this->as->the_event_edit($id);