2012-01-10 74 views
0

我有以下功能。mySQL循环,将值放入数组

return $this->_blockPhoto ($selected_screenshots, $this->aDataEntry['author_id']); 

它要求变量$selected_screenshots是一个值的数组。

问题是,我必须从mySQL的外观,这是报道下面的值。

如果只有一个值,一切工作正常。但是当数据库中有更多的值时,我无法将所有这些值放入变量数组中。

实际上,因为return $this->_blockPhoto ($selected_screenshots, $this->aDataEntry['author_id']);位于mySQL循环之外,所以它只获取循环的第一个值。

那么如何将mySQL循环中的所有值存储到变量中?而不仅是第一个价值?

我试图将数组变量手动分配在循环$selected_screenshots = array($qryrow1['media_id']);,但它不工作,我不认为这有什么意义:)

$qry1="SELECT * FROM modzzz_articles_screenshots WHERE media_id='".$selected_screenshots_ID."' AND entry_id='".$this->aDataEntry['id']."'"; 
      $qryr1=mysql_query($qry1) or die("Error selecting: ".mysql_error()); 
       while($qryrow1 = mysql_fetch_array($qryr1)) { 
       $selected_screenshots = array($qryrow1['media_id']); 

} // END OF THE LOOK 

      return $this->_blockPhoto ($selected_screenshots, $this->aDataEntry['author_id']); 

谁能给我的解决方案,代码?我很困惑。

感谢

回答

1

您的代码一直每次覆盖$selected_screenshots一个新的阵列。相反,你要追加它:

$selected_screenshots = array(); 
while ($qryrow1 = mysql_fetch_array($qryr1)) { 
    $selected_screenshots[] = $qryrow1['media_id']; 
} 
0

你可以通过你的结果循环,并将其附加到的$selected_screenshots年底要做到这一点,请看看以下保存所有的MySQL的值。现在你只是分配了一个值$selected_screenshots而忽略了其他值,所以$selected_screenshots具有mysql返回的最后一个值。

这是覆盖http://php.net/manual/en/language.types.array.php标题'创建/修改与方括号语法'