显示存储在下拉菜单中的数据

时间:2019-01-17 07:39:21

标签: javascript php codeigniter codeigniter-3

结果在我的下拉菜单中显示时出现问题。对于下拉菜单,我没有直接选择与显示的ID匹配的类型。

如何使下拉菜单根据商品ID出现?

此视图

label for="type">Type</label>
                                <select class="form-control" id="type_id" name="type_id">
                                    <?php foreach($type as $types) : ?>
                                        <?php if( $types == $barang['type_id']) : ?>
                                            echo '<option value="<?php echo "$types->type_id"?>" selected><?php echo "$types->type_nama"?></option>';
                                        <?php else : ?>
                                            echo '<option value="<?php echo "$types->type_id"?>"><?php echo "$types->type_nama"?></option>';
                                        <?php endif; ?>
                                    <?php endforeach; ?>
                                </select>

此模型

public function getTypeQuery()
{
    $this->db->order_by('type_id', 'asc');
    $query = $this->db->get('type');
    return $query->result();
}

public function getTypeById($id)
{
    return $this->db->get_where('barang', ['barang_id' => $id])->row_array();
}

public function ubahTypeBarang ()
{
    $data = [
        "barang_kode"=> $this->input->post('barang_kode', true),
        "type_id"=> $this->input->post('type_id', true),
        "barang_nama"=> $this->input->post('barang_nama', true),
    ];

    $this->db->where('barang_id', $this->input->post('barang_id'));
    $this->db->update('barang', $data);

}

此控制器

public function ubah_type($id)
{
    $data['judul'] = 'Form Ubah Data Mahasiswa';
    $data['barang'] = $this->Gudang_model->getTypeById($id);
    $data['type'] = $this->Gudang_model->getTypeQuery();

    $this->form_validation->set_rules('barang_kode', 'Kode', 'required');
    $this->form_validation->set_rules('type_id', 'Type', 'required');
    $this->form_validation->set_rules('barang_nama', 'Nama Barang', 'required');

    if($this->form_validation->run() == FALSE)
    {
        $this->load->view('templates/header', $data);
        $this->load->view('gudang/ubah_type', $data);
        $this->load->view('templates/footer');  
    } else {
        $this->Gudang_model->ubahTypeBarang();
        $this->session->set_flashdata('flash', 'Diubah');
        redirect('gudang/lihat_type');
    }

}

`

1 个答案:

答案 0 :(得分:1)

尝试像这样更改视图:

<label for="type">Type</label>
<select class="form-control" id="type_id" name="type_id">
    <?php foreach($type as $types) : ?>
        <?php if( $types->type_id == $barang['type_id']) : ?>
            <option value="<?php echo $types->type_id ?>" selected><?php echo $types->type_nama ?></option>
        <?php else : ?>
            <option value="<?php echo $types->type_id ?>"><?php echo $types->type_nama ?></option>
        <?php endif; ?>
    <?php endforeach; ?>
</select>