質問編集履歴

5

修正

2019/06/28 06:01

投稿

grapefruit
grapefruit

スコア33

test CHANGED
File without changes
test CHANGED
@@ -90,7 +90,7 @@
90
90
 
91
91
 
92
92
 
93
- ####現状のhtml(回答からの修正
93
+ ####現状のhtml(これでうまくいきました
94
94
 
95
95
 
96
96
 
@@ -135,19 +135,3 @@
135
135
  ```
136
136
 
137
137
  最後こういう風に変えました、これでうまくいきましたが、少し強引な気がしなくもないです
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
-
146
-
147
-
148
-
149
- 以上を実現するためには、いい方法ありますか?
150
-
151
-
152
-
153
- やはり、javascriptでやるしかないですか?

4

情報追加

2019/06/28 06:01

投稿

grapefruit
grapefruit

スコア33

test CHANGED
File without changes
test CHANGED
@@ -96,31 +96,45 @@
96
96
 
97
97
  ```html
98
98
 
99
- <?php $prev=0;$temp=0;?>
99
+ <div class="lists">
100
100
 
101
- @foreach($logs as $log)
101
+ <?php $prev=0;$temp=0;?>
102
102
 
103
- <?php $temp=$log->edit_at?>
103
+ @foreach($data as $dt)
104
104
 
105
- @if($temp!=$prev)
105
+ <?php
106
106
 
107
- <div class="list">
107
+ $temp=$dt->date;
108
108
 
109
- <div class="item">
109
+ if($temp!=$prev){
110
110
 
111
- {{$dt->detail}}
111
+ if(!$loop->first){
112
112
 
113
- </div>
113
+ echo"</div>
114
114
 
115
- </div>
115
+ </div>";
116
116
 
117
- <?php $prev=$dt->date?>
117
+ }
118
118
 
119
+ echo "<div class='list'>
120
+
121
+ <div class='item'>";
122
+
123
+ $prev=$dt->date;
124
+
125
+ }else{
126
+
127
+ echo "{$dt->detail}"
128
+
129
+ }
130
+
131
+ ?>
132
+
119
- @endforeach
133
+ @endforeach
120
134
 
121
135
  ```
122
136
 
123
- こに分岐を入るのでしょうか?そそも分岐やること合ってるのでしょうか?
137
+ 最後ういう風変えました、これでうまくいきまたが、少し強引な気がしなくない
124
138
 
125
139
 
126
140
 

3

追加質問

2019/06/28 05:58

投稿

grapefruit
grapefruit

スコア33

test CHANGED
File without changes
test CHANGED
@@ -90,6 +90,46 @@
90
90
 
91
91
 
92
92
 
93
+ ####現状のhtml(回答からの修正)
94
+
95
+
96
+
97
+ ```html
98
+
99
+ <?php $prev=0;$temp=0;?>
100
+
101
+ @foreach($logs as $log)
102
+
103
+ <?php $temp=$log->edit_at?>
104
+
105
+ @if($temp!=$prev)
106
+
107
+ <div class="list">
108
+
109
+ <div class="item">
110
+
111
+ {{$dt->detail}}
112
+
113
+ </div>
114
+
115
+ </div>
116
+
117
+ <?php $prev=$dt->date?>
118
+
119
+ @endforeach
120
+
121
+ ```
122
+
123
+ どこに分岐を入れるのでしょうか?そもそも分岐でやること合ってるのでしょうか?
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
93
133
 
94
134
 
95
135
  以上を実現するためには、いい方法ありますか?

2

誤字の修正

2019/06/28 05:15

投稿

grapefruit
grapefruit

スコア33

test CHANGED
File without changes
test CHANGED
@@ -76,9 +76,9 @@
76
76
 
77
77
  <div class="item">
78
78
 
79
-     <!---レコード1のデータ--->
79
+     <!---レコード2のデータ--->
80
80
 
81
- <!--レコード3のデータ--->
81
+ <!--レコード4のデータ--->
82
82
 
83
83
  </div>
84
84
 

1

より詳しい情報を追加しました

2019/06/28 03:32

投稿

grapefruit
grapefruit

スコア33

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,56 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- ####前提
3
+ 編集履歴を画面に表示する機能を実装しており。
4
4
 
5
- DBデータをhtmlに渡し、html内のphpのforeachでデータ表示しているのですが
5
+ Historyというテーブルには編集履歴情報(detail,date)格納していて、
6
6
 
7
+ その一つの情報dateが編集日時(CURRENT_TIMESTAMP)となっています。
8
+
9
+ そこでhtmlで表示する際、編集日時が一緒のレコードたちをまとめて表示したいのが今回実現したいことです。
10
+
11
+
12
+
13
+ ####現状のソースコード
14
+
15
+ コントローラでは
16
+
17
+ ```php
18
+
19
+ $data=DB::table("History")->get();
20
+
21
+ return view("detail",compact('data'));
22
+
23
+ ```
24
+
25
+ detail.blade.phpでは、
26
+
27
+ ```html
28
+
29
+ <div class="lists">
30
+
31
+  @foreach($data as dt)<!--これだと毎回リストが作れる-->
32
+
33
+ <div class="list">
34
+
35
+ <div class="item">
36
+
37
+ <div class="data">{{dt->detail}}</div>
38
+
39
+ </div>
40
+
41
+ </div>
42
+
43
+ @endforeach
44
+
45
+ </div
46
+
47
+ ```
48
+
49
+ ####実現したいこと
50
+
51
+ 例えばレコード1,3,5のdateは全部6/28 13:00、レコード2,4は6/29 14:00の場合
52
+
7
- html構造は以下のようになってます
53
+ 「希望するHTML最終形態」として、以下のようにした
8
54
 
9
55
 
10
56
 
@@ -16,55 +62,23 @@
16
62
 
17
63
  <div class="item">
18
64
 
65
+    <!---レコード1のデータ--->
66
+
19
-     <!--ここにDBのデータを入れる-->
67
+ <!--レコード3のデータ--->
68
+
69
+ <!--レコード5のデータ-->
20
70
 
21
71
  </div>
22
72
 
23
73
  </div>
24
74
 
25
- </div
26
-
27
- ```
28
-
29
- ####実現したいこと
30
-
31
- DBのデータの項目にdetail,dateがあるとします、実現したいのは
32
-
33
- dateが同じ値である場合は、下記のような構造にデータ追加
34
-
35
- ```html
36
-
37
- <div class="lists">
38
-
39
- <div class="list">
75
+ <div class="list">
40
76
 
41
77
  <div class="item">
42
78
 
43
-     <!--ここにforeachをかけたような形でDBデータを追加-->
79
+     <!---レコード1のデータ--->
44
80
 
45
- </div>
46
-
47
- </div>
48
-
49
- </div
50
-
51
- ```
52
-
53
- dateが異なるデータは、下記のようにデータを追加したい
54
-
55
-
56
-
57
- ```html
58
-
59
- <div class="lists">
60
-
61
- <!--ここでforeachをかけたような形でデータを入れる-->
62
-
63
- <div class="list">
64
-
65
- <div class="item">
66
-
67
- <!--DBデータを追加-->
81
+ <!--レコード3のデータ--->
68
82
 
69
83
  </div>
70
84
 
@@ -76,34 +90,6 @@
76
90
 
77
91
 
78
92
 
79
- ### 試したこと
80
-
81
-
82
-
83
- 今現状は以下のような形で、dateによらず、毎回listを作って、データを追加しています
84
-
85
- ```html
86
-
87
- <div class="lists">
88
-
89
-  @foreach($data as dt)
90
-
91
- <div class="list">
92
-
93
- <div class="item">
94
-
95
- <div class="data">dt</div>
96
-
97
- </div>
98
-
99
- </div>
100
-
101
- @endforeach
102
-
103
- </div
104
-
105
- ```
106
-
107
93
 
108
94
 
109
95
  以上を実現するためには、いい方法ありますか?