在我的项目中创建下拉列表遇到问题(错误)。 我对codeigniter很新。
请检查并告知我的代码有什么问题?
模型
Public function get_region()
{
$return = array();
$query = $this->db->get('region')->result_array();
if( is_array( $query ) && count( $query ) > 0 ){
$return[''] = 'please select';
foreach($query as $row)
{
$return[$row['id']] = $row['r_e_name'];
}
}
控制器
public function index()
{
$this->load->model('country_model');
$data['countries'] = $this->country_model->get(false);
$data['page_title'] = "Countries";
$data['return']=$this->country_model->get_region();
$this->template->show('countries', $data);
}
查看
<tr>
<td>
<?php echo form_label('Region Name *', 'r_e_name'); ?>
</td>
<td>
<?php echo form_dropdown('r_e_name', $return);?>
</td>
</tr>
错误
遇到PHP错误
严重性:注意
消息:未定义的变量:return
文件名:views / countries_add.php
行号:17
遇到PHP错误
严重性:警告
消息:为foreach()提供的参数无效
文件名:helpers / form_helper.php
行号:331
答案 0 :(得分:2)
模型
function get_country() {
$return[''] = 'please select';
$this->db->order_by('c_e_name', 'asc');
$query = $this->db->get('country');
foreach($query->result_array() as $row){
$return[$row['id']] = $row['c_e_name'];
}
return $return;
}
function get_region(){
$return[''] = 'please select';
$query = $this->db->get('region');
foreach($query->result_array() as $row){
$return[$row['id']] = $row['r_e_name'];
}
return $return;
}
控制器
public function index()
{
$this->load->model('country_model');
$data['country'] = $this->country_model->get_country();
$data['region'] = $this->country_model->get_region();
$data['page_title'] = "Countries";
$this->template->show('countries', $data);
}
查看
<tr>
<td><?php echo form_label('Country *', 'c_e_name'); ?></td>
<td><?php echo form_dropdown('c_e_name', $country);?></td>
</tr>
<tr>
<td><?php echo form_label('Region Name *', 'r_e_name'); ?></td>
<td><?php echo form_dropdown('r_e_name', $region);?></td>
</tr>
答案 1 :(得分:0)
您尚未从模型返回结果集。只需加上
return $return;
在模型中函数get_region()的末尾。