【问题标题】:Drupal form option populate from loopDrupal 表单选项从循环中填充
【发布时间】:2012-01-19 10:27:53
【问题描述】:

我想从循环中填充选择选项

$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;

需要帮助吗?

【问题讨论】:

    标签: forms drupal drupal-7 drupal-forms


    【解决方案1】:

    这是执行此操作的标准方法:

    $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 循环完全相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-31
      • 1970-01-01
      • 2016-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多