嵌套while循环需要吗?

时间:2013-10-20 23:38:48

标签: sql drupal drupal-views

我已经使用了这段代码,但它只是拔出第一个与第一个查询中的一个值匹配的邻域组。该代码位于Drupal视图中的Node ID PHP处理程序中。

第一个查询将所有来自政府管辖区的邮政编码放入一个数组中。第二个查询读取所有邻居组以查找与该数组中的那些匹配的所有邻居组。

看起来我需要第二个循环或类似的东西,因为那时现在没有得到每个邻居组匹配数组中的任何值。谁能看到我错过的东西?

这是代码:

$government_nid = custom_get_groupid();

$codes_list = array();
$neighbourhood_list = array();

$results = db_query("SELECT field_jurisdiction_postal_codes_value FROM   {content_field_jurisdiction_postal_codes}  WHERE
nid = %d", $government_nid);
while($return_list = db_fetch_array($results)){
$codes_list[] = $return_list[field_jurisdiction_postal_codes_value];
}


$results1 = db_query("SELECT  nid FROM  {content_type_neighbourhood_group}  WHERE
field_postal_code_3_value IN ('%s')", $codes_list);
while($return_list1 = db_fetch_array($results1)){
$neighbourhood_list[] = $return_list1[nid];
}
$neighbourhood_string = implode(', ', $neighbourhood_list);

return $neighbourhood_string;

1 个答案:

答案 0 :(得分:0)

以下是答案:

foreach ($codes_list AS $value)  {
$results1 = db_query("SELECT  nid FROM  {content_type_neighbourhood_group}  WHERE
field_postal_code_3_value = '%s'", $value);
while($return_list1 = db_fetch_array($results1)){
$neighbourhood_list[] = $return_list1[nid];
}
}
$neighbourhood_string = implode(', ', $neighbourhood_list);

return $neighbourhood_string;