0

カテゴリを選択するためのドロップダウンがある編集フォームがあります。データベースからカテゴリを取得する関数も作成しました。

$optiesドロップダウンがフォームを選択するための配列を設定し、$selectieこれと呼ばれる「選択された」パラメーターには、データベース内の特定の会社のカテゴリが含まれています。

次のようになります。

<tr>
<td><?= form_label('Categorieen'); ?></td>
<td><?= form_dropdown('categorieen', $opties, $selectie); ?></td>
</tr>

質問

「選択した」パーツが機能しないのはなぜですか?

私がするとき、print_r($selectie)私は得る:

Array
(
    [12] => Vlaggen
)

これはデータベース内の私のカテゴリです。

私がするとき、print_r($opties)私は得る:

Array
(
    [11] => Webdesign
    [12] => Vlaggen
    [13] => Auto-s
    [14] => Electronica
    [15] => Boeken
    [16] => Antiek-en-Kunst
    [17] => Auto-Onderdelen
    [18] => Computers-Hardware
    [19] => Computers-Software
)

何が問題なのかわからない。いくつかの助けをいただければ幸いです。

コントローラ:

function updatebedrijven()
{
    $dbres = $this->db->get('categorieen');
    $ddmenu = array();
    foreach ($dbres->result_array() as $tablerow) {
        $ddmenu[$tablerow['idcategorieen']] = $tablerow['Categorie'];
    }
    $data['opties'] = $ddmenu;
    $id = $this->uri->segment(3); 
    $id2 = $this->uri->segment(3); 

    $data['selected'] = $this->members_model->getselection($id2);

    $data['info'] = $this->members_model->getbedrijf($id); 
    $data['id'] = $id;
    $this->load->view('members/header');
    $this->load->view('members/editform', $data);
    $this->load->view('members/footer');    
}

モデル:

//This one is for the $opties

function getbedrijf($id) 
{ 
    $this->db->where('idbedrijven', $id); 
    $query = $this->db->get('bedrijven'); 

    if ($query->num_rows() == 1) { 
    $row = $query->row_array(0); 

    return $row; 
    } 
}

//This one is for the $selectie

function getselection($id2)
{
    $this->db->from('bedrijfcategorieen');
    $this->db->join('categorieen', 'bedrijfcategorieen.idcategorieen = categorieen.idcategorieen');
    $this->db->where('bedrijfcategorieen.idbedrijven', $id2);
    $query = $this->db->get();

    return $query->result();
}
4

1 に答える 1

2

form_dropdown配列key => valueをそのとして使用'value' and 'option'します。ドロップダウンからデータを選択するには、選択したデータのキーが必要です。

[12] => Vlaggenそれを選択するには12、のような配列ではなく、そのキーが必要です

Array
(
    [12] => Vlaggen
)

<? 
//just for testing
echo form_dropdown('categorieen', $opties, key($selectie)); 
?>
于 2013-05-29T14:42:56.680 に答える