使用while循环为选择列表创建关联数组?

时间:2010-01-03 21:40:12

标签: drupal-6

我在Drupal中动态生成一个选择列表,我想创建一个关联数组,将节点ID填充为值,并将节点的标题填充为选项。

默认情况下,它使每个选项的值成为选择列表的索引。这并不好,因为选择列表是动态的,这意味着值的顺序不同。  我使用drupal_map_assoc使值与选项相同,但我根据存储在此字段中的值进行查询,因此如果有人更新了存储的值,则查询将不匹配。

<option value="Addison Reserve Country Club  Inc.">Addison Reserve Country Club  Inc.</option>

我想用随查询提取的节点ID替换该值。

 $sql = 'SELECT DISTINCT title, nid FROM {node} WHERE type = \'accounts\' ';
      $result = db_query($sql);
    while ($row = db_fetch_array($result)) {
       $return[] = $row['title'];
       //Trying to do something like  'Addison Reserve Country Club' => '2033' - where 2033 is the nid

     }
      $return = drupal_map_assoc($return);

1 个答案:

答案 0 :(得分:1)

我想你只想在循环中这样做:

$return[$row['nid']] = $row['title'];

根据您的评论,您还希望在循环之后立即执行array_flip(),但我认为您的评论可能只是向后。