0

ループから選択オプションを設定したい

$form['vote']['selected'] = array(
 '#type' => 'select',
 '#title' => 'Select',
 '#name' => 'name',
 ); 

 foreach($loop as $row)
 $form['vote']['selected']['#options'] = array($row->id => $row->name);
 }

 return $form;

助けが要る?

4

1 に答える 1

2

これは標準的な方法です:

$options = array();
foreach($loop as $row)
  $options[$row->id] = $row->name;
}

$form['vote']['selected'] = array(
  '#type' => 'select',
  '#title' => 'Select',
  '#name' => 'name',
  '#options' => $options
); 

fetchAllKeyedまた、データベースからデータを選択リストに適したキー付き配列に取得するための便利なショートカットであるデータベースクエリのメソッドを確認することもできます。

$options = db_query('SELECT id, name FROM {table}')->fetchAllKeyed();

foreach上記は、上記のループとまったく同じものを生成します。

于 2012-01-19T12:36:00.567 に答える