以下のリンクを使用して、日付の配列を作成しました。
http://boonedocks.net/mike/archives/137-Creating-a-Date-Range-Array-with-PHP.html
ただし、日付(配列内)と日付(クエリ結果内)を比較して、その配列の日付を置き換えたいと思いました。
それらが等しい場合、配列内のその日付を mysql クエリの結果に置き換えます。
配列:
array(
9/1/2013,
9/2/2013,
9/3/2013,
9/4/2013,
9/5/2013
)
クエリ結果:
| date | value0 | value1 | value2 | and so on...
| 9/2/2013 | 5 | A | AQ |
| 9/3/2013 | 6 | V | CD |
| 9/5/2013 | 7 | X | SA |
結果は次のようになります。
PHP date ----> 9/1/2013 0
Database ----> 9/2/2013 5
Database ----> 9/3/2013 6
PHP date ----> 9/4/2013 0
Database ----> 9/5/2013 7
PHPでそれを行うにはどうすればよいですか?foreach 内で while ループを試してみましたが、うまくいきません。
テーブルに複数の列がある場合はどうなりますか? 以下の回答を試してみましたが、それは単なる二次元だと思いますか? 上記の mysql クエリの編集を参照してください。
編集:
私は今これをやった:
<?php
$getDays = array(
9/1/2013,
9/2/2013,
9/3/2013,
9/4/2013,
9/5/2013
);
$result = array();
while($row = mysql_fetch_assoc($getTime))
{
$result[] = $row;
}
for($i=0; $i < count($getDays); $i++)
{
?>
<tr>
<td><?php echo $result[$i]['date']; ?></td>
<td><?php echo $result[$i]['value0']; ?></td>
<td><?php echo $result[$i]['value1']; ?></td>
<td><?php echo $result[$i]['value2']; ?></td>
</tr>
<?php
}
?>
しかし、問題は、一部の日付が正しい順序で出力されていないことです。