誰かが助けてくれることを願っています 私は毎日の売上のテーブルを作成しようとしており、各営業担当者が毎週の毎日の結果を確認できるテーブルを表示しようとしています。それほど難しいことではないと確信していますが、これについて頭を悩ませてきました.phpとMySQLは初めてですが、問題はありませんが、これでうまくいきました
私が達成しようとしている結果は、次のようになります。
-------------------------------------------------
|Name | sun | mon | tue | wed | thu | fri | sat |
-------------------------------------------------
|pete | 0 | 0 | 0 | 200 | 200 | 0 | 0 |
-------------------------------------------------
|mike | 0 | 0 | 0 | 0 | 100 | 0 | 100 |
-------------------------------------------------
使用しているテーブルの例は...
------------------------------------------------
| order_number | order_value | user_name | Date |
-------------------------------------------------
| 1 | 100 | pete | 10/7 |
-------------------------------------------------
| 2 | 200 | mike | 13/7 |
-------------------------------------------------
| 3 | 100 | pete | 10/7 |
-------------------------------------------------
| 4 | 100 | mike | 11/7 |
-------------------------------------------------
| 5 | 200 | peter | 11/7 |
-------------------------------------------------
現時点で現在使用しているコードは次のとおりです。phpコードを介してこのデータを操作する方が良いのか、より良いSQLクエリを使用する方がよいのかわかりません。
$sql = mysqli_query($mysqli," SELECT SUM(order_value) , DAYOFWEEK(Date) , `user_name`
FROM `my_table`
WHERE WEEK(Date) = $thisweek -1 AND YEAR(Date) = $currentYear
GROUP BY user_name , DAYOFWEEK(Date)");
echo "
<table border ='1'>
<tr><td>Name</td><td>sun</td><td>mon</td><td>tue</td><td>wed</td><td>thu</td><td>fri</td><td>sat</td></tr>";
while($result=mysqli_fetch_array($sql))
{
$i = $result['DAYOFWEEK(Date)'];
$v = $result['SUM(order_value)'];
$n = $result['user_name'];
$d = $i;
echo "<td>" . $n . "</td>";
for($d=1; $d<=7; $d++ )
{
if($v >0 && $d == $i)
{
echo "<td>" . $v . "</td>";
}
else
{
echo "<td>0</td>";
}
}
echo"</tr>";
}
echo "</table>";
このコードから、結果は近いものになりますが、各ユーザーがテーブルに 1 回だけ表示されるようにフラット化したいと考えています。
-------------------------------------------------
|Name | sun | mon | tue | wed | thu | fri | sat |
-------------------------------------------------
|pete | 0 | 0 | 0 | 200 | 0 | 0 | 0 |
-------------------------------------------------
|pete | 0 | 0 | 0 | 0 | 200 | 0 | 0 |
-------------------------------------------------
|mike | 0 | 0 | 0 | 0 | 100 | 0 | 0 |
-------------------------------------------------
|mike | 0 | 0 | 0 | 0 | 0 | 0 | 100 |
-------------------------------------------------
ヘルプや提案をいただければ幸いです。