PHPFacebookFQLMultquery,并处理foreach和变量


PHP Facebook FQL Multquery and dealing with foreach and variables

好吧,我正在努力解决这个问题。基本上,除了为每个DIVS添加封面照片外,我的一切都很好。基本上,我有两个使用FQL的查询,下面是我的代码。

$query = 
   '{"query1":"SELECT aid, cover_pid, name, description FROM album WHERE owner=$fbowner",
     "query2":"SELECT src FROM photo WHERE pid IN (SELECT cover_pid FROM #query1)"}';
$fqlResult = $facebook->api(array(
    'method' => 'fql.multiquery',
'queries' => $query));          
$fql = $fqlResult[0]['fql_result_set'];
$covers = $fqlResult[1]['fql_result_set'];
$the_count = count($fql);
$i = 0;
foreach($fql as $value) {
 $album_cover = $value['src'];
 echo "<div class='fb_block'>";
 echo "<a href='" . $url . "?action=list_pics&aid=" . $value['aid'] . "&album_name=" . $value['name'] . "'>";
 echo "<img src='{$covers[$i]['src']}' border='1'>";
 echo "</a>";
 echo "<h3>".$value['name']."</h3>";
 echo "<p>".$value['description']."</p>";
 echo "</div>";
 $i++;
}

现在这很好,但如果我把这个放在组合中,封面照片都会掉下来,除非我赚$I=1。

$i = 0;
foreach($fql as $value) {
if($value['name'] != 'Wall Photos'){
 $album_cover = $value['src'];
 echo "<div class='fb_block'>";
 echo "<a href='" . $url . "?action=list_pics&aid=" . $value['aid'] . "&album_name=" . $value['name'] . "'>";
 echo "<img src='{$covers[$i]['src']}' border='1'>";
 echo "</a>";
 echo "<h3>".$value['name']."</h3>";
 echo "<p>".$value['description']."</p>";
 echo "</div>";
 $i++;
}
}

如果我在混音中插入另一个foreach,它会抓取所有封面照片并将它们粘贴到每个div中。那么,按照顺序抓取与相册节点相关的封面照片最简单的解决方案是什么?

提前感谢!

我也试过了。不能依赖于这两个查询之间的索引是一致的。

要使其工作,首先修改query2以返回pid,然后替换代码中的这一行:

echo "<img src='{$covers[$i]['src']}' border='1'>";

这个:

foreach($covers as $cover) {
  if ($value['cover_pid'] === $cover['pid']) {
    echo "<img src='{$cover['src']}' border='1'>";
    break;
  }
 }