【问题标题】:CodeIgniter displaying multi select instead of dropdownCodeIgniter 显示多选而不是下拉菜单
【发布时间】:2016-01-02 21:10:07
【问题描述】:

我正在从数据库中提取数据以填充下拉列表。我正在研究更新表中数据的功能。当用户单击更新时,它会将他们带到一个表单,其中填充了行中的数据,以便他们可以更新必要的信息。下拉框应具有选定表中的值。但是,当我加载页面时,它会显示一个多选选项框并选择所有选项。

型号

public function edit_recrew()
{
    $this->load->model('atisroad_model');
    $this->data['record'] = $this->atisroad_model->edit_recrew();
    $this->data['train_status'] = $this->atisroad_model->trainstatusli();
    $this->data['train_direction'] = $this->atisroad_model->traindirli();
    $this->load->view('atis/edit_recrew', $this->data);
}

查看

        <tr>
        <td>Train Direction:</td>
        <td><?=form_dropdown('train_direction', $train_direction, set_value('train_direction', $train_direction));?>
</td>
    </tr>
<tr>
        <td>Train Status:</td>
        <td> <?=form_dropdown('train_status', $train_status, set_value('train_status', $train_status));?>
    </tr>

控制器

public function edit_recrew()
{
    $this->db->where('train_id', $this->uri->segment(3));
    $query = $this->db->get('trains_road');
    return $query->result();
}
public function trainstatusli()
{
    $result = $this->db->get('train_status');
    $return = array();
    if($result->num_rows() > 0){
        foreach($result->result_array() as $row) {
            $return[$row['status']] = $row['status'];
        }
    }
    return $return;
}
public function traindirli()
{
    $result = $this->db->get('train_direction');
    $return = array();
    if($result->num_rows() > 0){
        foreach($result->result_array() as $row) {
            $return[$row['direction']] = $row['direction'];
        }
    }
    return $return;

【问题讨论】:

    标签: php mysql codeigniter


    【解决方案1】:

    我假设您使用的是 Codeigniter 3(尽管我很确定这对于 2.x 也是有效的)。

    您不能像这样使用 set_value:您将一个数组作为默认值传递给 set_value ,它将将该数组作为 form_dropdown 函数的选定值返回,但是,如果您将数组作为第三个参数传递给 form_dropdown 它,这就是您的问题将呈现多选。 这里是官方参考form_dropdownset_value

    【讨论】:

      【解决方案2】:

      我更改了第三个参数中的值,它起作用了。

      <tr>
         <td>Train Direction:</td>
         <td><?=form_dropdown('train_direction', $train_direction, $value->train_direction));?>
         </td>
      </tr>
      <tr>
         <td>Train Status:</td>
         <td> <?=form_dropdown('train_status', $train_status, $value->train_status);?>
      </tr>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-01
        • 2018-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-06
        相关资源
        最近更新 更多