0

データベースからドロップダウン選択を入力しています。これまでに作成したドロップダウン選択には、製品の名前のみが含まれています。商品と一緒にカテゴリ名を表示したいのですが、カテゴリ名を選択できないようにする必要があります。

次の2つの表があります。

テーブル名:product_category

category_id     category_name
    1              Beverage
    2              Food

テーブル名:製品

product_id   category_id    product_name
    1           1              Pepsi
    2           2              Burger

私のモデル

 function products() {

     $this->db->select('product_name, product_id');
      $records=$this->db->get('products');

        $data=array();
        $data[''] = 'Select'; 
            foreach ($records->result() as $row)
                {
                    $data[$row->product_id] = $row->product_name;
                }

            return ($data);
        }  

現在、ビューファイルを実行してドロップダウン選択をクリックすると、次のような値が表示されます。

    Pepsi
    Burger

しかし、ビューファイルのdropdrownを次のようにするには、上記のモデルにさらに何を書き込む必要がありますか?

飲料

     Pepsi

食べ物

     Burger 

ありがとう:)あなたの情報のために私はCodeigniterを使用しています:0

4

2 に答える 2

2

optgroupと呼ばれるものがあります

<select>
  <optgroup label='category 1'>
    <option value='1'>Item 1</option>
    <option value='2'>Item 2</option>
  </optgroup>
  <optgroup label='category 2'>
    <option value='3'>Item 3</option>
    <option value='4'>Item 4</option>
  </optgroup>
</select>
于 2012-05-31T21:30:06.410 に答える
2

CodeIgniterはとても素晴らしいので、あなたの例を達成するためにあなたは以下を行うことができます:

$arr = array( 'Beverage' => array( '1' => 'Pepsi' ),
              'Food' => array( '2' => 'Bruger' ));

echo dropdown('food_id', $arr);

したがって、最初のキーがoptgroupの名前で、2番目のキーがidである場合、値ごとに追加の深さがあります。select > optgroup > option@Pitchinnateの返信で与えられた構造になります

foreachでは、次のようになります。

$data[$row->category_name][$row->product_id] = $row->product_name;
于 2012-06-01T06:28:31.170 に答える