質問編集履歴

1

ご指摘いただいた質問の爪の甘さを再度見直して修正しました。

2021/08/12 10:07

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,20 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- データーベースに入れた写真を開始年のみ設定した場合にその年以降の写真を全て取り出す機能を作りたいです。エラーは出ていないのですが、反映されないのでご指導お願いいたします。
3
+ データーベースに入れた写真を開始年のみ設定した場合にその年以降の写真を全て取り出す機能を作りたいです。上手く反映されないのでご指導お願いいたします。 
4
+
5
+ ちなみにパソコンはMACを使っております。
6
+
7
+ 反映されないという状況は下記の写真の通りです。(開始年を指定して表示を押した結果になっています。)
8
+
9
+
10
+
11
+ ![イメージ説明](1e7f96e829e91b88a20d115d130f9718.png)
12
+
13
+
14
+
15
+ 成功の場合は下記のように写真が表示されるはずです。(この成功例は開始年と終了年のどちらも指定した時のものです)
16
+
17
+ ![イメージ説明](b00305edf06bcc357429ed386903fe7d.png)
4
18
 
5
19
 
6
20
 
@@ -8,38 +22,284 @@
8
22
 
9
23
 
10
24
 
25
+ 写真の代わりに「条件に合うデータがありません:」というメッセージが表示されます。
26
+
27
+
28
+
29
+ ### 該当のソースコード
30
+
31
+ どこから載せればいいのか迷ったので全て載せます。
32
+
33
+ ```php
34
+
35
+ <HTML>
36
+
37
+ <HEAD>
38
+
39
+ <META HTTP-EQUIV="content-type" CONTENT="text/HTML;charset=utf-8">
40
+
41
+ <TITLE>写真アルバム</TITLE>
42
+
43
+ <STYLE type="text/css">
44
+
45
+ img.album_photo{
46
+
47
+ width:500px;
48
+
49
+ height:auto;
50
+
51
+ max-width:100%;
52
+
53
+ max-height:100%;
54
+
55
+ }
56
+
57
+ </STYLE>
58
+
59
+ </HEAD>
60
+
61
+ <BODY>
62
+
63
+
64
+
65
+ <?php
66
+
67
+ include('./exif_tool/php');
68
+
69
+
70
+
71
+ print <<<_HTML_
72
+
73
+ <FORM method="POST" action="$_SERVER[PHP_SELF]">
74
+
75
+ 期間:
76
+
77
+ <SELECT name="fromyear">
78
+
79
+ <OPTION value=""selected>--</OPTION>
80
+
81
+ <OPTION value="2011">2011</OPTION>
82
+
83
+ <OPTION value="2012">2012</OPTION>
84
+
85
+ <OPTION value="2013">2013</OPTION>
86
+
87
+ <OPTION value="2014">2014</OPTION>
88
+
89
+ <OPTION value="2015">2015</OPTION>
90
+
91
+ <OPTION value="2016">2016</OPTION>
92
+
93
+ <OPTION value="2017">2017</OPTION>
94
+
95
+ <OPTION value="2018">2018</OPTION>
96
+
97
+ <OPTION value="2019">2019</OPTION>
98
+
99
+ <OPTION value="2020">2020</OPTION>
100
+
101
+ </SELECT>年
102
+
103
+
104
+
105
+ <SELECT name="toyear">
106
+
107
+ <OPTION value=""selected>--</OPTION>
108
+
109
+ <OPTION value="2010">2010</OPTION>
110
+
111
+ <OPTION value="2011">2011</OPTION>
112
+
113
+ <OPTION value="2012">2012</OPTION>
114
+
115
+ <OPTION value="2013">2013</OPTION>
116
+
117
+ <OPTION value="2014">2014</OPTION>
118
+
119
+ <OPTION value="2015">2015</OPTION>
120
+
121
+ <OPTION value="2016">2016</OPTION>
122
+
123
+ <OPTION value="2017">2017</OPTION>
124
+
125
+ <OPTION value="2018">2018</OPTION>
126
+
127
+ <OPTION value="2019">2019</OPTION>
128
+
129
+ <OPTION value="2020">2020</OPTION>
130
+
131
+ </SELECT>年
132
+
133
+
134
+
135
+
136
+
137
+ <BR>
138
+
139
+ 場所:<INPUT type="text" name="location"><BR>
140
+
141
+ <SELECT name="favorite">
142
+
143
+ <OPTION value=""selected>すべて</OPTION>
144
+
145
+ <OPTION value="1">お気に入りのみ</OPTION>
146
+
147
+ </SETECT><BR>
148
+
149
+ <INPUT type="submit" name="album" value="表示">
150
+
151
+ </FORM>
152
+
153
+ _HTML_;
154
+
155
+
156
+
157
+ if(isset($_POST['album'])){
158
+
159
+ include('db_login.php');
160
+
161
+
162
+
163
+ $dbconnect = mysqli_connect($db_host, $db_username, $db_password, $db_database);
164
+
165
+ if(mysqli_connect_errno()){
166
+
167
+ die("MySQLに接続できません:<BR>".mysqli_error($dbconnect));
168
+
169
+ }
170
+
171
+
172
+
173
+ if(!mysqli_set_charset($dbconnect,"utf8")){
174
+
175
+ die("日本語の設定ができません:<BR>".mysqli_error($dbconnect));
176
+
177
+ }
178
+
179
+
180
+
181
+
182
+
183
+ $query="SELECT*FROM`1719018`WHERE";
184
+
185
+ $change=0;
186
+
187
+
188
+
189
+ if($_POST['fromyear']){
190
+
191
+ $query=$query."photo_date>='".$_POST['fromyear']."-1-1'"."ORDER BY photo_date";
192
+
193
+ $change=1;
194
+
195
+ }
196
+
197
+
198
+
199
+
200
+
201
+ if (!$change){
202
+
203
+ $query=$query.photo_date<='"2021"-12-31'"."ORDER BY photo_date";
204
+
205
+
206
+
207
+ }
208
+
209
+
210
+
211
+
212
+
213
+ if(!$result){
214
+
215
+ die("データを取得できません:<BR>".mysqli_error($dbconnect));
216
+
217
+ }
218
+
219
+
220
+
221
+ if(!mysqli_num_rows($result)){
222
+
223
+ die("条件に合うデータがありません:<BR>");
224
+
225
+ }
226
+
227
+
228
+
229
+
230
+
231
+ while($result_row = mysqli_fetch_row($result)){
232
+
233
+ print"<IMG src=\"./photo/".$result_row[0]."\"class=\"album_photo\">";
234
+
235
+ print date("Y年n月j日",strtotime($result_row[1]));
236
+
237
+ print $result_row[3];
238
+
239
+ }
240
+
241
+ mysqli_close($dbconnect);
242
+
243
+ }
244
+
245
+ ?>
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+ </BODY>
256
+
257
+ </HTML>
258
+
11
259
  ```
12
260
 
261
+
262
+
13
- エラーメッセージ
263
+ ### 試したこと
264
+
265
+
266
+
267
+
268
+
269
+ ### 補足情報(FW/ツールのバージョンなど)
270
+
271
+ 元々正常に作ってあるプログラムに今問題となっている機能を加えたいです。以下に書いてあるコード以外はしっかり機能しています。
272
+
273
+ ```php
274
+
275
+
276
+
277
+ $query="SELECT*FROM`1719018`WHERE";
278
+
279
+ $change=0;
280
+
281
+
282
+
283
+ if($_POST['fromyear']){
284
+
285
+ $query=$query."photo_date>='".$_POST['fromyear']."-1-1'"."ORDER BY photo_date";
286
+
287
+ $change=1;
288
+
289
+ }
290
+
291
+
292
+
293
+
294
+
295
+ if (!$change){
296
+
297
+ $query=$query.photo_date<='"2021"-12-31'"."ORDER BY photo_date";
298
+
299
+
300
+
301
+ }
302
+
303
+
14
304
 
15
305
  ```
16
-
17
-
18
-
19
- ### 該当のソースコード
20
-
21
-
22
-
23
- $query="SELECT*FROM`1780`WHERE";
24
-
25
- $change=0;
26
-
27
-
28
-
29
- if($_POST['fromyear']){
30
-
31
- $query=$query."photo_date>='".$_POST['fromyear']."-1-1'"."ORDER BY photo_date";
32
-
33
- $change=1;
34
-
35
- }
36
-
37
-
38
-
39
- ### 試したこと
40
-
41
-
42
-
43
-
44
-
45
- ### 補足情報(FW/ツールのバージョンなど)