2012-01-10 8 views
0

私は次のような機能を持っています。mySQLループ、値を配列に入れよう

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

変数$selected_screenshotsは値の配列である必要があります。

問題は、以下に報告されているmySQLの外観から値を取得する必要があることです。

値が1つだけの場合、すべて正常に動作します。しかし、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']); 

誰も私のコードの溶液を、与えることができます?私は本当に混乱しています。あなたのコードは、新しい配列を毎回$selected_screenshotsを上書きし続ける

おかげ

答えて

1

。代わりに、あなたはしたいにそれを追加します。

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

あなたがこれを行うには、あなたの結果をループして$selected_screenshotsの最後にそれらを追加することによって、すべてのmysqlの値を保存することができます下記をご覧ください。今すぐ$selected_screenshotsを1つの値に割り当てて、他の値を無視しているので、$selected_screenshotsはmysqlが最後に返す値を持っています。

これは、http://php.net/manual/en/language.types.array.php「角括弧構文を使用して作成/変更する」の下に記載されています

関連する問題