1

朋友们,

我正在创建一个 drupal 表单(这是我的第二个表单!),我正在从数据库中提取有关课程作业的信息。一个非常简单的coursework_id和一个coursework_name

现在在 Drupal 中填充下拉菜单的常用格式如下:

$form['selected'] = array(
       '#type' => 'select',
       '#title' => t('Selected'),
       '#options' => array(
          0 => t('No'),
         1 => t('Yes'),
       ),
       '#default_value' => $category['selected'],
       '#description' => t('Set this to <em>Yes</em> if you would like this category to be selected by default.'),
   );

我试图在上述选择表单的#options 部分中传递我的 coursework_id 和 coursework_name。

到目前为止,我已经想出了这行代码:

foreach ($results as $result) {

            $courseworks = (array($result->coursework_id => $result->coursework_name));
}

这与选项所需的格式相匹配,但是我只能存储一个结果:

Array
(
    [2] => Java Programming
)

我怎么能以某种方式推动新的结果。我已经尝试过 PHP 中的 array_push,但它似乎确实适用于这种情况,据我所知,它只能附加一个值。

亲切的问候,-D

4

3 回答 3

3

你应该简单地尝试:

foreach ($results as $result) {
    $courseworks[$result->coursework_id] = $result->coursework_name;
}
于 2013-05-05T17:16:36.287 回答
2

基本上,您正在重新定义数组$courseworks的每次迭代。$results试试这个;

$courseworks = array();
foreach ($results as $result) 
{
    $courseworks[] = (array($result->coursework_id => $result->coursework_name));
}
于 2013-05-05T17:21:30.887 回答
1

以下应该为您完成。您首先定义数组,然后创建键并分配相对值:

$courseworks = array();
foreach ($results as $result) {
    $courseworks[$result->coursework_id] = $result->coursework_name;
}
于 2013-05-05T17:17:07.227 回答