如何在Codeigniter中填充数据库中的下拉列表?

时间:2011-09-06 08:47:13

标签: php codeigniter

我有两张桌子:1。学生字段是 - (学生,学生名,批处理)                        2. BATCH-字段是 - (batchid,batchname)

我想从“batchname”字段填充一个下拉列表(来自“BATCH”表),并根据字段“批处理”(来自“学生”表格)选择了batchname

我的控制器 -

function update($id){
$this->load->model('mod_studentprofile');
$data['query']= $this->mod_studentprofile->student_get($id); //to retrieve information from the table "STUDENT" 
$data['query']= $this->mod_studentprofile->batch_get();

$data['main_content']='update_studentprofile';
$this->load->view('includes/template',$data);
}

我的模特 -

 function batch_get()
{
  $query = $this->db->get('batch');
  return $query->result();

}    

现在,我无法弄清楚如何填充“视图”中的下拉列表。请你帮帮我吗?

先谢谢。

2 个答案:

答案 0 :(得分:2)

您需要将下拉列表中显示的选项放入数组中,如此

$options = array(
  'red'   => 'Red',
  'green' => 'Green',
  'blue'  => 'Blue',
);

// The params here are:
// 'color'    => name of the drop down
// '$options' => options for the drop down
// 'red'      => the selected value of the drop down
echo form_dropdown('color', $options, 'red');

我要做的是在我的模型中创建一个函数,比如$model->dropdown_options()并使用它来从数据库中获取行并将它们放入数组中。

答案 1 :(得分:0)

参见Jamie Rumbelow的'MY_Model'课程,他有一种方法可以完全按照你的描述进行。

https://github.com/jamierumbelow/codeigniter-base-model/blob/master/core/MY_Model.php