0

モデル:

function pop_room_type() {
    $this->db->select('rt_name')->from('room_type');
    $query=$this->db->get();
    return $query->result_array();
}

コントローラ:

function index() {
    $this->load->model('reservations_model');
    $data['room_type'] = $this->reservations_model->pop_room_type();
    //echo "<pre>";print_r($data['room_type']);echo"</pre>";
    $this->load->view('/main/new_reservation', $data);
}

意見:

<?php 
//$js = 'name='$room_type'';
echo form_dropdown('room_type', $room_type);
?>   

ただし、すべての選択オプションの「名前」が同じであるという大きな問題があります。このドロップダウンのすべてのオプションには、(room_type) テーブルの列名と同じ値が含まれます: rt_name. いくつか試してみましたが、ドロップダウンのオプションの名前フィールドに一意の値を割り当てることができませんでした。

4

3 に答える 3

1

valueキーがオプションの属性で、値がオプションの属性である配列を作成する必要がdescriptionあります。

ドキュメントに記載されているように、次のような配列を使用します。

$options = array(
                  'small'  => 'Small Shirt',
                  'med'    => 'Medium Shirt',
                  'large'   => 'Large Shirt',
                  'xlarge' => 'Extra Large Shirt',
                );

次のように選択要素を生成します。

<select name="shirts">
   <option value="small">Small Shirt</option>
   <option value="med">Medium Shirt</option>
   <option value="large">Large Shirt</option>
   <option value="xlarge">Extra Large Shirt</option>
</select>

配列では、キーは常に同じ(列名)であり、目的を達成するためにそれらを区別する必要があります。

おそらくモデルでは、部屋のIDも選択する必要があります...

于 2013-07-04T20:28:55.937 に答える
1

ドロップダウンのオプションを作成するサンプル配列を次に示します。配列は次のようになります。

$options = array(
            "" => "Select",
                "1" => "Test",
                "2" => "Testing",
);

echo form_dropdown('name_of_selectbox', $options);

のように表示されます

<select name="name_of_selectbox">
<option value="">Select</option>
<option value="1">Test</option>
<option value="2">Testing</option>
</select>

他の方法では、このようにすることができます

        $room_typearray=array();
        $room_typearray[]="Select";
        foreach($room_type as $room){
        $room_typearray[$room['rt_name']]=$room['rt_name'];
        }

echo form_dropdown('room_type', $room_typearray);

コメントのお返事はこちら

function index() {
    $this->load->model('reservations_model');
    $data['room_type'] = $this->reservations_model->pop_room_type();
    //echo "<pre>";print_r($data['room_type']);echo"</pre>";
    $this->load->view('/main/new_reservation', $data);
}

結果をロードして$data['room_type']最初にビューに渡すvar_dump($room_type);必要があり、データが含まれているかどうかを確認し、定義されていない変数を使用すると、未定義のエラーが発生します

それが理にかなっていることを願っています

于 2013-07-04T20:29:10.837 に答える