我正在尝试在我的下拉列表中获取字段的记录。 这就是我在做的事情:
控制器:
$this->data['user'] = $this->user_m->get_new();
$rules = $this->user_m->rules_admin;
$rules['password']['rules'] .= '|required';
$this->form_validation->set_rules($rules);
if ($this->form_validation->run() == TRUE)
{
$data = $this->user_m->array_from_post(array('sip_id','sip_pass','name','key','email', 'password','phone','status','created','balance'));
$data['key'] = $this->user_m->get_dropdown_list();
$data['password'] = $this->user_m->hash($data['password']);
$key=$this->user_m->save($data, $id);
redirect('admin/user');
}
$this->data['subview'] = 'admin/user/add';
$this->load->view('admin/_layout_main', $this->data);
模特
public function get_dropdown_list()
{
$this->db->from('users');
$this->db->order_by('key');
$result = $this->db->get();
$return = array();
if($result->num_rows() > 0)
{
foreach($result->result_array() as $row)
{
$return[$row['id']] = $row['key'];
}
}
return $return;
}
观点:
<tr>
<td>Key</td>
<td><?php echo form_dropdown('key', $key, set_value('key', $key));?></td>
</tr>
你可以告诉我哪里出错了吗?我收到了这个错误:
未定义的变量:键
消息:为foreach()提供的参数无效
答案 0 :(得分:1)
您是否将$data
数组传递给视图?你可以通过将$data
数组作为第二个参数:$this->load->view('view',$data);
修改强>
$data
和$this->data
都是不同的数组。当您向$data
添加内容时,只会$this->data
向$data
添加任何内容。所以使用其中一个。