さまざまな入力タイプを持つ input_types というデータベーステーブルがあります。
[id] [input_type_Name]
1 text
2 radio
3 checkbox
4 select
... ...
テーブルから名前を取得して配列に入れ、 form_dropdown を使用してドロップダウンでユーザーに表示できるようにします。
私が今やっている方法の問題は、オプショングループを作成することです。
私が今それを行う方法:
モデル
function get_inputTypes() {
$this->db->select('input_type_name');
$query = $this->db->get('input_types');
if($query->num_rows() > 0) {
return $query->result_array();
}
else {
return false;
}
}
コントローラ
$results = $this->survey_model->get_inputTypes();
$data['inputTypes'] = $results;
意見
<label for="inputType">Input type:</label>
<?php echo form_dropdown('inputType', $inputTypes); ?>
ただし、これでは目的の効果が得られません。ドロップダウンにデータが入力されますが、多次元配列があるため、ドロップダウンには optgroup があります。
選択したデータを単純な配列に入れたいだけです。CodeIgniter と php で一般的にこれが非常に難しいのはなぜですか。
C# の方がはるかに簡単です :/
解決
解決策は非常に簡単です。foreach を使用して、モデル内の多次元配列をループします。
foreach($query->result() as $input_type) {
$data[] = $input_type->input_type_name;
}
return $data;