teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

タイトルを少し変更しました

2024/02/03 06:52

投稿

emi_ono
emi_ono

スコア84

title CHANGED
@@ -1,1 +1,1 @@
1
- (PHP, mysql) 店ごとの月の売上合計を出す為のSQL文の書き方を教えて頂きたいです
1
+ (PHP, mysql) 店ごとの売上合計を出す為のSQL文の書き方を教えて頂きたいです
body CHANGED
File without changes

2

「発生している問題・分からないこと」の文章と画像を追加しました。また「該当のソースコード」の$rec['SUM(P)']を$rec['P']に変更しました。

2024/02/02 16:16

投稿

emi_ono
emi_ono

スコア84

title CHANGED
File without changes
body CHANGED
@@ -1,24 +1,6 @@
1
1
  ### 実現したいこと
2
2
  店舗ごとに指定した月の売上合計(カラムmenu_price合計値)を一覧にしたいです。
3
3
 
4
- ### 発生している問題・分からないこと
5
- formから条件(契約タイプと対象の月)を受けとり、その条件に合った店舗を店舗毎の対象月に入った予約件数と共に一覧表示する事はできたのですが、カラムmenu_priceの合計値を表示する事ができません。
6
-
7
- 0. <form>で条件を受け取る
8
- 0. その条件の店舗を(テーブル:shop、list)から取得
9
- 0. 取得した店舗をforを使って表示
10
- 0. forの中で店舗ごとの予約内容を(テーブル:customer3)から取得
11
-
12
- この流れでできるかなと考えました。
13
-
14
- menu_price合計値を取る為に
15
- - SUM(menu_price) AS P,
16
- - $rec = $prepare->fetch(PDO::FETCH_ASSOC);
17
- - echo "<p>".$rec['SUM(P)']."</p>";
18
- を追加したのですが、うまく表示できません。
19
-
20
- アドバイスを頂けると助かります。よろしくお願いします。
21
-
22
4
  ### テーブルとカラム
23
5
 
24
6
  **【shopテーブル】**
@@ -40,11 +22,40 @@
40
22
  - start_time(予約時間)datetime
41
23
  - shop_id(店舗ID)int(11)
42
24
 
25
+ ### 発生している問題・分からないこと
26
+ formから条件(契約タイプと対象の月)を受けとり、その条件に合った店舗を店舗毎の対象月に入った予約件数と共に一覧表示する事はできたのですが、カラムmenu_priceの合計値を表示する事ができません。
43
27
 
28
+ 0. <form>で条件を受け取る
29
+ 0. その条件の店舗を(テーブル:shop、list)から取得
30
+ 0. 取得した店舗をforを使って表示
31
+ 0. forの中で店舗ごとの予約内容を(テーブル:customer3)から取得
44
32
 
33
+ この流れでできるかなと考えました。
45
34
 
35
+ menu_price合計値を取る為に
36
+ - SUM(menu_price) AS P,
37
+ - $rec = $prepare->fetch(PDO::FETCH_ASSOC);
38
+ - echo "<p>".$rec['SUM(P)']."</p>";
39
+ を追加しました。
46
40
 
41
+ これらを設定する前は下記の画像のように表示されるのですが(変数の値も正確に表示されています)
42
+ ![SUM()などを設定する前](https://ddjkaamml8q8x.cloudfront.net/questions/2024-02-03/8b9506c5-f99f-43d8-a5dc-34d93dcbb8c6.png)
43
+ 設定した後は下記の画像のように表示されます
44
+ ![SUM()などを設定した後](https://ddjkaamml8q8x.cloudfront.net/questions/2024-02-03/6d47f742-e3b0-4c33-a648-93210026dd10.png)
47
45
 
46
+ このように繰り返しの最初の1回だけは変数の値が表示されるのですが、$count_customerの値が違います(20が正しいです)。またそれ以降は変数部分が表示されず、$count_customerの値も違います。繰り返しは出来ているようで、変数以外は期待する回数(ここでは13回)繰り返し表示されます。
47
+
48
+
49
+ 要領を得ない説明で大変申し訳ありません。
50
+ アドバイスを頂けると助かります。よろしくお願いします。
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
48
59
  ### 該当のソースコード
49
60
 
50
61
  ```PHP
@@ -180,7 +191,7 @@
180
191
  echo '<p>契約タイプ:'.$type_of_contract.'</p>';
181
192
  echo '<p>('.$shop_id.')'.$shop_name.'</p>';
182
193
  echo '<p>'.$count_customer.'件</p>';
183
- echo "<p>".$rec['SUM(P)']."</p>";
194
+ echo "<p>".$rec['P']."</p>";
184
195
 
185
196
 
186
197
 

1

テーブルとカラムの説明を追加しました

2024/02/02 14:29

投稿

emi_ono
emi_ono

スコア84

title CHANGED
File without changes
body CHANGED
@@ -19,8 +19,32 @@
19
19
 
20
20
  アドバイスを頂けると助かります。よろしくお願いします。
21
21
 
22
+ ### テーブルとカラム
22
23
 
24
+ **【shopテーブル】**
25
+ 店舗名やパスワードなど店舗のログイン情報を管理しています
26
+ このテーブルで作られたshop_id(店舗ID)が他のテーブルに紐づきます
27
+ - shop_name(店舗名)varchar(255)
28
+ - created(作成日)varchar(50)
29
+ - shop_id(店舗ID)int(11)AUTO_INCREMENT
23
30
 
31
+ **【listテーブル】**
32
+ 店舗の営業時間やメニューなど店舗情報を管理しています
33
+ - type_of_contract(契約タイプ)int(11)
34
+ - shop_id(店舗ID)int(11)
35
+
36
+ **【customer3テーブル】**
37
+ 予約情報を管理しています
38
+ - menu_price(料金)int(11)
39
+ - reserve_day(予約日)date
40
+ - start_time(予約時間)datetime
41
+ - shop_id(店舗ID)int(11)
42
+
43
+
44
+
45
+
46
+
47
+
24
48
  ### 該当のソースコード
25
49
 
26
50
  ```PHP