【问题标题】:how to show selected item in edit form_dropdown codeigniter如何在编辑form_dropdown codeigniter中显示所选项目
【发布时间】:2015-04-19 00:36:28
【问题描述】:

在更新/编辑菜单时显示所选项目时遇到问题

该项目未被选中。如何让它自动选择?

这是我的模型

    public function master_kategorilapor(){
    $this->db->order_by('id_kategorilapor');
    $sql_kategorilapor=$this->db->get('kategorilapor');
    if($sql_kategorilapor->num_rows()>0){
    return $sql_kategorilapor->result_array();
    }
}

这个控制器

    public function tambah_lapor(){
    $data['kategorilapor'] = $this->mymodel->master_kategorilapor();
    $dd_kategorilapor = array();
    foreach ($this->mymodel->master_kategorilapor() as $data_kategorilapor) 
    {
    $dd_kategorilapor[$data_kategorilapor['id_kategorilapor']] = $data_kategorilapor['nama_kategorilapor'];
    }
    $data['kategorilapor']=$dd_kategorilapor;

    $this->load->view ('petugas/tambah_lapor', $data);
}

控制器获取更新数据

public function update_data ($id_lapor){


$this->load->model("mymodel");
$mhs = $this -> mymodel -> GetLapor("where id_lapor = '$id_lapor' ");
$data = array(
    "id_lapor" => $mhs[0]['id_lapor'],
    "tgl_lapor" => $mhs[0]['tgl_lapor'],
    "t1" => $mhs[0]['t1'],
    "t2" => $mhs[0]['t2'],
    "dari" => $mhs[0]['dari'],
    "untuk" => $mhs[0]['untuk'],
    "id_tujuanlapor" => $mhs[0]['id_tujuanlapor'],
    "id_kategorilapor" => $mhs[0]['id_kategorilapor'],
    "isi_taruna" => $mhs[0]['isi_taruna'],
    "keterangan_taruna" => $mhs[0]['keterangan_taruna']);


$this->load->view('petugas/update_lapor',$data);

}

这是我的观点

     <?php echo form_dropdown("id_kategorilapor",$kategorilapor); ?>

【问题讨论】:

  • 您的$data(发送到视图的那个),其中没有值“kategorilapor”。
  • 你不需要在tambah_lapor() 函数的第一行使用这个$data['kategorilapor'] = $this-&gt;mymodel-&gt;master_kategorilapor();。为什么会有这个?
  • 如果你var_dump$data在发送到视图之前,你会得到什么?
  • mm,我的意思是 id_kategorilapor 在视图中,抱歉弄错了
  • 现在只是最后一个错误消息:为 foreach() 提供的参数无效

标签: php mysql codeigniter select


【解决方案1】:

让我们看一下下拉方法的基本形式。

$dd_list = array(
                  'Mr'   => 'Mr',
                  'Mrs'   => 'Mrs',
                  'Miss'   => 'Miss',
                 );
 echo form_dropdown('title', $dd_list, 'Mr');  

在这里,我们创建了包含标题列表的数组。然后我们在表单中打印下拉列表。

假设我们要在我们的数据库中存储键值 1 为 Mr,2 为 Mrs,3 为 Miss,我们将上面的代码修改为:

 $dd_list = array(
                  '1'   => 'Mr',
                  '2'   => 'Mrs',
                  '3'   => 'Miss',
                );
 echo form_dropdown('title', $dd_list, '3');

上面我们已经将 3:Miss 设置为默认选择值。

让我们在上面的代码中添加基本形式的 set_value 函数。所以表单会记住提交的内容,以防提交不完整。

$dd_list = array(
                  '1'   => 'Mr',
                  '2'   => 'Mrs',
                  '3'   => 'Miss',
                );

 $dd_name = "title";

 echo form_dropdown($dd_name, $dd_list, '3');

终于

 $dd_list = array(
                  '1'   => 'Mr',
                  '2'   => 'Mrs',
                  '3'   => 'Miss',
                );

 $dd_name = "title";
 $sl_val = $this->input->post($dd_name);

echo form_dropdown($dd_name, $dd_list, set_value($dd_name, ( ( !empty($sl_val) ) ? "$sl_val" : 3 ) ) );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    相关资源
    最近更新 更多