我有以下功能。
return $this->_blockPhoto ( $selected_screenshots, $this->aDataEntry['author_id']);
它要求变量$selected_screenshots
是一个值数组。
问题是我必须从mySQL外观中获取值,如下所示。
如果只有一个值,一切正常。但是当DB中有更多值时,我无法将所有这些值放入变量数组中。
事实上,由于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']);
任何人都可以通过代码向我提供解决方案吗?我真的很困惑。
由于
答案 0 :(得分:1)
您的代码每次都会使用新数组覆盖$selected_screenshots
。相反,你想要追加它:
$selected_screenshots = array();
while ($qryrow1 = mysql_fetch_array($qryr1)) {
$selected_screenshots[] = $qryrow1['media_id'];
}
答案 1 :(得分:0)
您可以通过循环搜索结果并将其附加到$selected_screenshots
的末尾来保存所有mysql值,请执行以下操作。现在你只是分配$selected_screenshots
一个值并忽略其他值,所以$selected_screenshots
具有mysql返回的最后一个值。
标题为“使用方括号语法创建/修改”
标题下的http://php.net/manual/en/language.types.array.php