在codeigniter中从数据库中选择下拉列表

时间:2014-02-25 16:36:17

标签: codeigniter

我是codeigniter的新手。我想制作一个从数据库中获取其值和标题的精选dorpdown。我尝试了一些代码,但它没有用。我的代码有:

Model
    function get_sec_info(){
    $records=$this->db->query('SELECT sec_id,name FROM section');
    if($records->num_rows() > 0)
    return $records->result();}
Controller
    function sec_ifo(){
    $data['rec']=$this->mymodel->get_sec_info();
    $this->load->view('article',$data);}
View
    <select name="section">
    <?php foreach($rec as $row) {?>
    <option value="<?php echo $row->sec_id?>"><?php echo $row->name ?></option>"
    <?php } ?>

它没有显示任何错误和任何显示选项

3 个答案:

答案 0 :(得分:1)

在您的控制器中,您传递的值如

$data['red']=$this->mymodel->get_sec_info();

并且在您看来,您正在获得像

这样的价值
<?php foreach($rec as $row) {?>

因此,请更改视图中的可变$rec to $red,如

<?php foreach($red as $row) {?>

答案 1 :(得分:0)

您的选项标签格式错误。开始选项标签缺少其结束括号,选项标签值的右引号位于错误的位置。

修正:

<option value="<?php echo $row->sec_id?>"><?php echo $row->name ?></option>

答案 2 :(得分:0)

您应该使用CI表单助手函数而不是使用HTML代码

在模型中

 function get_sec_info()
{
    $records=$this->db->query('SELECT sec_id,name FROM section');
    $ret_arr = array();
    if($records->num_rows() > 0)
    {
      while($records->result() as $r)
       $ret_arr[$r->sec_id] = $r->name;
    }
     return $records->result();
}

在你看来

echo form_dropdown("section",$rec);

在视图中删除您的代码:

<select name="section">
    <?php foreach($rec as $row) {?>
    <option value="<?php echo $row->sec_id?>"><?php echo $row->name ?></option>"
    <?php } ?>

确保已加载表单助手。