CodeIgniter下拉菜单

时间:2014-05-02 09:53:43

标签: php database codeigniter drop-down-menu

我有一个视图( myView ),其中有一个表单。表单操作是 myController / myFunction1 ,用于验证表单中的输入变量,并通过调用模型函数将其插入数据库。这完全没问题。

现在,我需要在表单中使用一个下拉框,其值将从数据库中的表(称为 business )获取。

这是我在模型中编写的用于获取值的代码

    public function get_dropdown_list() {
        $this -> db -> select('business_name');
        $result = $this -> db -> get('business');
        if ($result -> num_rows() > 0) {
            foreach ($result->result_array() as $row) {
                $new_row['value'] = htmlentities(stripslashes($row['business_name']));
                $row_set[] = $new_row;
            }
        }

        return $row_set;
    }

我不完全确定这是否正确。 我需要知道的是,如果这是正确的,那么控制器内部的代码应该是什么,以及将结果显示为 myView 中表单下拉列表的视图。 如果这个模型本身是错误的,我该如何使它工作?

P.S。 :我是CodeIgniter的新手。我一直在浏览S.O和其他各种网站,以便让这个东西现在运行很长一段时间。这似乎是一个重复的问题,我真的很抱歉,因为我无法从已经讨论过的同一问题的讨论中找到解决方案。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

尝试模型: -

 public function get_dropdown_list() {
    $this -> db -> select('business_name');
    $result = $this -> db -> get('business');
    if ($result -> num_rows() > 0) {
       return $result->result_array();
    }
    else {
      return false;
    } 
}

控制器: - 1.在您的控制器中包含模型
2.调用该函数并发送数据进行查看。

    $this->load->model('model_name');
    $this->data['dropdown'] = $this->model_name->get_dropdown_list();
    $this->load->view('yourview', $this->data);

获取视图中的值: -

print_r($dropdown) 
Loop your data and make a dropdown
<select name="dropdown">
<?php foreach($dropdown as $d) {?>
<option value="<?php echo $d;?>"><?php echo $d;?></option>
<?php }?>
</select>

答案 1 :(得分:0)

在控制器中调用此功能以从DB

获取记录
$data['records'] = $this->my_model->get_data();

在my_model.php中

function get_data()
    {
        $query = "select * from my_tab";
        $res = $this->db->query($query);

        if ( $res->num_rows ) 
        {
            return $res->row_array();
        }
        return false;
}

在view.php中

<select>
 <?for($i=0;$i<count($records);$i++)
    {
    ?>
     <option>$records[$i]->name</option>
    <?php } ?>

</select>