0
whileループとarray_pushを使用してqueryの日付を配列に格納しています。foreachループ内のループがforeachループに進まない
$h = array();
$j = array();
while ($g = mysql_fetch_array($f)) {
$date = new DateTime($g['selected_date']);
echo "<th>" . date_format($date, 'd') . "</th>";
array_push($h, $date);
array_push($j, $g['selected_date']);
}
この配列がこれに戻りますが、これは問題ありません。
Array (
[0] => 2016-05-23
[1] => 2016-05-24
[2] => 2016-05-25
[3] => 2016-05-26
[4] => 2016-05-27
[5] => 2016-05-28
)
私はこのように使用しよう:
$a = mysql_query("select * from center") or die(mysql_error());
$arr = array();
foreach($j as $k) {
while ($b = mysql_fetch_array($a)) {
$l = "select sum(yid.center_inventory) as 'total'
from yl_inventory_details as yid
left join yl_inventory as yi
on yi.yl_inventory_no = yid.yl_inventory_no
where yid.center_no = '$b[center_no]'
and yi.date = '$k'";
$c = mysql_query("$l") or die(mysql_error());
$d = mysql_fetch_array($c);
echo "<tr><td>".$b['center']."</td><td>".$d['total']."</td></tr>";
}
}
しかし、それだけ2016-05-23
ある最初の値をとります。 whileループは次のforeach値に進まないようです。これをどうすれば解決できますか?
他の作業を行う前に、そのmysql_関数呼び出しを取り除きます。これらの関数は長い間廃止されています。 mysqli_またはPDOを使用します。 – trincot
あなたのwhileループにforeachループを入れて、あなたはゴールデン – Ale