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

質問編集履歴

2

ソースコードの追記

2018/06/09 02:57

投稿

tanakasan
tanakasan

スコア16

title CHANGED
File without changes
body CHANGED
@@ -31,4 +31,51 @@
31
31
  できればSQLを教えて頂けたら幸いです。
32
32
  もしくはPHPでどう配列にもたせるか教えて頂けたら幸いです。
33
33
 
34
- よろしくお願いします。
34
+ よろしくお願いします。
35
+
36
+ 【追記】
37
+ 画面表示としては図のようにHTML側で表現します。
38
+ ![イメージ説明](77af08420104e009ffe64af3d7034272.png)
39
+ 日付ごとにセルがあり、このセルは固定値となっているのと、本の予約率算出の都合で
40
+ 日をまたぐ予約をわざと24:00で分割しています。
41
+
42
+ この形式になるようにデータを取得したいです。
43
+ 実際に書いたソースは以下の通りですが、取得した配列をhtml側でどう表現すればいいか悩んでいます。
44
+ 配列自体はできているのですが、配列の二次元目が予約番号?となってしまい、html側で日付ごとに
45
+ 配列を区切れずにいます。
46
+
47
+ // 実現したい配列
48
+ $res_array["本のコード"]["日付"]["予約時間"]
49
+ // 現在の配列
50
+ $res_array["本のコード"]["予約の行数"]["予約時間"]
51
+
52
+ ```PHPのコード
53
+
54
+ // 重複している本をひとまとめにする
55
+ // SQLで一番上に書いたデータを取得 → $予約リスト
56
+
57
+ $book_list = array();
58
+ $tmp = "";
59
+ foreach($予約リスト as $res){
60
+ if($tmp != $res["本のコード"]){
61
+ $tmp = $res["本のコード"];
62
+ $book_list = $res["本のコード"];
63
+ }
64
+ }
65
+ $res_array = array();
66
+ $i = 0;
67
+ $j = 0;
68
+ // 表現したい配列の生成 ←ここがだめ
69
+ foreach($book_list as $book){
70
+ foreach($予約リスト as $res){
71
+ if($book["本のコード"] == $res["本のコード"]){
72
+ $res_array[$i][$j] = $res["本のコード"];
73
+ $book_list = $res["本のコード"];
74
+ if(!in_null($res["予約時間"])){
75
+ $res_array[$i][$j]["予約時間の長さ"] = $res["予約時間の長さ"];
76
+ }
77
+ }
78
+ $j++;
79
+ }
80
+ $i++;
81
+ }

1

【追記】 画面表示としては図のようにHTML側で表現します。 ![イメージ説明](77af08420104e009ffe64af3d7034272.png) 日付ごとにセルがあり、このセルは固定値とな

2018/06/09 02:57

投稿

tanakasan
tanakasan

スコア16

title CHANGED
File without changes
body CHANGED
File without changes