質問編集履歴

3

コード修正

2020/08/14 08:28

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -316,7 +316,7 @@
316
316
 
317
317
  ```SQL
318
318
 
319
- $list = $pdo->prepare("SELECT * FROM table_jikangai WHERE name = '$name' OR kenban = '$kenban' AND '$kara' >= jissiday AND '$made' = jissiday ");
319
+ $list = $pdo->prepare("SELECT * FROM テーブル名 WHERE name = '$name' OR kenban = '$kenban' AND '$kara' >= jissiday AND '$made' = jissiday ");
320
320
 
321
321
  $list->execute();
322
322
 
@@ -338,19 +338,19 @@
338
338
 
339
339
  if($name!=""){
340
340
 
341
- $where_sql="WHERE table_jikangai.name='".$name."'";
341
+ $where_sql="WHERE テーブル名.name='".$name."'";
342
342
 
343
343
  }
344
344
 
345
345
  if($kenban!=""){
346
346
 
347
- $where_sql="WHERE table_jikangai.kenban='".$kenban."'";
347
+ $where_sql="WHERE テーブル名.kenban='".$kenban."'";
348
348
 
349
349
  }
350
350
 
351
351
  else{
352
352
 
353
- $where_sql="AND table_jikangai.kenban='".$kenban."'";
353
+ $where_sql="AND テーブル名.kenban='".$kenban."'";
354
354
 
355
355
  }
356
356
 
@@ -358,17 +358,17 @@
358
358
 
359
359
  if($kara!=""){
360
360
 
361
- $where_sql="WHERE table_jikangai.jissiday='".$kara."'";
361
+ $where_sql="WHERE テーブル名.jissiday='".$kara."'";
362
362
 
363
363
  }
364
364
 
365
365
  if($made!=""){
366
366
 
367
- $where_sql="WHERE table_jikangai.jissiday='".$made."'";
367
+ $where_sql="WHERE テーブル名.jissiday='".$made."'";
368
-
368
+
369
- }
369
+ }
370
-
370
+
371
- $list = $pdo->prepare("SELECT * FROM table_jikangai WHERE name = '$name' OR kenban = '$kenban' OR BETWEEN '$kara' & '$made' ");
371
+ $list = $pdo->prepare("SELECT * FROM テーブル名 WHERE name = '$name' OR kenban = '$kenban' OR BETWEEN '$kara' & '$made' ");
372
372
 
373
373
  $list->execute();
374
374
 
@@ -380,7 +380,7 @@
380
380
 
381
381
  else{
382
382
 
383
- $list = $pdo->prepare("SELECT * FROM table_jikangai");
383
+ $list = $pdo->prepare("SELECT * FROM テーブル名");
384
384
 
385
385
  $list->execute();
386
386
 

2

試したこと追加

2020/08/14 08:28

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,83 +4,331 @@
4
4
 
5
5
  以下がコードです。
6
6
 
7
+ ```SQL
8
+
9
+ <?php
10
+
11
+ if(isset($_GET['name'])) {
12
+
13
+ $name = $_GET['name'];
14
+
15
+ }else{
16
+
17
+ $name = "";
18
+
19
+ }
20
+
21
+   //値を受け取っているかを確認
22
+
23
+ echo $name;
24
+
25
+ print"<br>";
26
+
27
+
28
+
29
+ if(isset($_GET['kenban'])) {
30
+
31
+ $kenban = $_GET['kenban'];
32
+
33
+ }else{
34
+
35
+ $kenban = "";
36
+
37
+ }
38
+
39
+ echo $kenban;
40
+
41
+ print"<br>";
42
+
43
+
44
+
45
+ if(isset($_GET['kara'])) {
46
+
47
+ $kara = $_GET['kara'];
48
+
49
+ }else{
50
+
51
+ $kara = "";
52
+
53
+ }
54
+
55
+ echo $kara;
56
+
57
+ print"<br>";
58
+
59
+
60
+
61
+ if(isset($_GET['made'])) {
62
+
63
+ $made = $_GET['made'];
64
+
65
+ }else{
66
+
67
+ $made = "";
68
+
69
+ }
70
+
71
+ echo $made;
72
+
73
+ print"<br>";
74
+
75
+
76
+
77
+ //DB接続
78
+
79
+ include('dbc.php');
80
+
81
+
82
+
83
+
84
+
85
+ $where_sql="";
86
+
87
+
88
+
89
+ if(isset($_GET['search'])){
90
+
91
+ if($name!=""){
92
+
93
+ $where_sql="WHERE テーブル名.name='".$name."'";
94
+
95
+ }
96
+
97
+ if($kenban!=""){
98
+
99
+ $where_sql="WHERE テーブル名.kenban='".$kenban."'";
100
+
101
+ }else{
102
+
103
+ $where_sql="AND テーブル名.kenban='".$kenban."'";
104
+
105
+ }
106
+
107
+ if($jissiday!=""){
108
+
109
+ if ($where_sql=="") {
110
+
111
+ $where_sql = "WHERE テーブル名 BETWEEN 'kara' & 'made'";
112
+
113
+ }else{
114
+
115
+ $where_sql .= " AND テーブル名.jissiday='".$jissiday."'";
116
+
117
+ }
118
+
119
+ }
120
+
121
+ $list = $pdo->prepare("SELECT * FROM テーブル名 WHERE name = '$name' OR kenban = '$kenban' ");
122
+
123
+ $list->execute();
124
+
125
+ $temp= $list->fetchall();
126
+
127
+ }
128
+
129
+
130
+
131
+ else{
132
+
133
+ $list = $pdo->prepare("SELECT * FROM テーブル名");
134
+
135
+ $list->execute();
136
+
137
+ $temp= $list->fetchall();
138
+
139
+ };
140
+
141
+
142
+
143
+ ?>
144
+
145
+ ```
146
+
147
+
148
+
149
+ 検索ボックス
150
+
7
151
  ```php
8
152
 
9
- <?php
10
-
11
- if(isset($_GET['name'])) {
12
-
13
- $name = $_GET['name'];
14
-
15
- }else{
16
-
17
- $name = "";
18
-
19
- }
20
-
21
-   //値を受け取っているかを確認
22
-
23
- echo $name;
24
-
25
- print"<br>";
26
-
27
-
28
-
29
- if(isset($_GET['kenban'])) {
30
-
31
- $kenban = $_GET['kenban'];
32
-
33
- }else{
34
-
35
- $kenban = "";
36
-
37
- }
38
-
39
- echo $kenban;
40
-
41
- print"<br>";
42
-
43
-
44
-
45
- if(isset($_GET['kara'])) {
46
-
47
- $kara = $_GET['kara'];
48
-
49
- }else{
50
-
51
- $kara = "";
52
-
53
- }
54
-
55
- echo $kara;
56
-
57
- print"<br>";
58
-
59
-
60
-
61
- if(isset($_GET['made'])) {
62
-
63
- $made = $_GET['made'];
64
-
65
- }else{
66
-
67
- $made = "";
68
-
69
- }
70
-
71
- echo $made;
72
-
73
- print"<br>";
74
-
75
-
76
-
77
- //DB接続
78
-
79
- include('dbc.php');
80
-
81
-
82
-
83
-
153
+ <h1 class="title">~時間外勤務申請済リスト~</h1>
154
+
155
+
156
+
157
+ <div class="selectContainer">
158
+
159
+ <div class="selectBox">
160
+
161
+ <form action="jikangai_list_test3.php" method="get">
162
+
163
+ <span>名前</span>
164
+
165
+ <select name="name">
166
+
167
+ <option></option>
168
+
169
+ <?php foreach ($namelist as $output) {?>
170
+
171
+ <option><?php echo $output['name']; ?></option>
172
+
173
+ <?php }?>
174
+
175
+ </select>
176
+
177
+ <span>件番</span>
178
+
179
+ <select name="kenban">
180
+
181
+ <option></option>
182
+
183
+ <?php foreach ($gyoumulist as $moutput) {?>
184
+
185
+ <option value='<?php echo $moutput[kenban]?>'><?php echo $moutput[kenban].' '.$moutput['kenmei']; ?></option>
186
+
187
+ <?php }?>
188
+
189
+ </select>
190
+
191
+ <br>
192
+
193
+ <input class="datepicker" name="kara">から <input class="datepicker" name="made">まで
194
+
195
+
196
+
197
+ <input class="sarch-button" type="submit" name="search" value="検索">
198
+
199
+ <button onckick="location.href='jikangai_list_test3d'">クリア</button>
200
+
201
+
202
+
203
+ </form>
204
+
205
+ </div>
206
+
207
+ </div>
208
+
209
+ ```
210
+
211
+
212
+
213
+ 検索結果は以下の表に出しています
214
+
215
+ ```html
216
+
217
+ <table>
218
+
219
+ <tr>
220
+
221
+ <th>名前</th>
222
+
223
+ <th>予定日</th>
224
+
225
+ <th>予定開始時刻</th>
226
+
227
+ <th>予定終了時刻</th>
228
+
229
+ <th>承認</th>
230
+
231
+ <th>実施日</th>
232
+
233
+ <th>実施開始時刻</th>
234
+
235
+ <th>実施終了時刻</th>
236
+
237
+ <th>時間外稼働時間</th>
238
+
239
+ <th>件番</th>
240
+
241
+ <th>内容</th>
242
+
243
+ <th>総務印</th>
244
+
245
+ <th>編集</th>
246
+
247
+ <th>削除</th>
248
+
249
+ </tr>
250
+
251
+
252
+
253
+ <?php
254
+
255
+ if(isset($temp)){
256
+
257
+ foreach($temp as $data){
258
+
259
+ ?>
260
+
261
+ <tr>
262
+
263
+ <?php printf("<td>%s</td>",$data['name']); ?>
264
+
265
+ <?php printf("<td>%s</td>",$data['yoteiday']); ?>
266
+
267
+ <?php printf("<td>%s</td>",$data['yoteistarttime']); ?>
268
+
269
+ <?php printf("<td>%s</td>",$data['yoteiendtime']); ?>
270
+
271
+ <?php printf("<td>%s</td>",$data['syounin']); ?>
272
+
273
+ <?php printf("<td>%s</td>",$data['jissiday']); ?>
274
+
275
+ <?php printf("<td>%s</td>",$data['jissistarttime']); ?>
276
+
277
+ <?php printf("<td>%s</td>",$data['jissiendtime']); ?>
278
+
279
+ <?php
280
+
281
+ $from = $data['jissiendtime'];
282
+
283
+ $to = $data['jissistarttime'];
284
+
285
+ $result = date_diff(new DateTime($from), new DateTime($to))->format('%H:%I:%S');
286
+
287
+ printf("<td>%s</td>",$result);
288
+
289
+ ?>
290
+
291
+ <?php printf("<td>%s</td>",$data['kenban']); ?>
292
+
293
+ <?php printf("<td>%s</td>",$data['naiyou']); ?>
294
+
295
+ <?php printf("<td>%s</td>",$data['soumuin']); ?>
296
+
297
+ <td><a class="fa fa-edit" href="update_form_test.php?id=<?php echo $data['id']?>"></a></td>
298
+
299
+ <td><a class="fa fa-trash delete" href="delete.php?id=<?php echo $data['id'] ?>"></a></td>
300
+
301
+ </tr>
302
+
303
+ <?php
304
+
305
+ }}
306
+
307
+ ?>
308
+
309
+ </table>
310
+
311
+ ```
312
+
313
+
314
+
315
+ # 試したこと1
316
+
317
+ ```SQL
318
+
319
+ $list = $pdo->prepare("SELECT * FROM table_jikangai WHERE name = '$name' OR kenban = '$kenban' AND '$kara' >= jissiday AND '$made' = jissiday ");
320
+
321
+ $list->execute();
322
+
323
+ $temp= $list->fetchall();
324
+
325
+ ```
326
+
327
+
328
+
329
+ # 試したこと2
330
+
331
+ ```SQL
84
332
 
85
333
  $where_sql="";
86
334
 
@@ -90,47 +338,49 @@
90
338
 
91
339
  if($name!=""){
92
340
 
93
- $where_sql="WHERE テーブル名.name='".$name."'";
341
+ $where_sql="WHERE table_jikangai.name='".$name."'";
94
342
 
95
343
  }
96
344
 
97
345
  if($kenban!=""){
98
346
 
99
- $where_sql="WHERE テーブル名.kenban='".$kenban."'";
347
+ $where_sql="WHERE table_jikangai.kenban='".$kenban."'";
100
-
101
- }else{
348
+
102
-
103
- $where_sql="AND テーブル名.kenban='".$kenban."'";
104
-
105
- }
349
+ }
106
-
107
- if($jissiday!=""){
108
-
109
- if ($where_sql=="") {
110
-
111
- $where_sql = "WHERE テーブル名 BETWEEN 'kara' & 'made'";
112
-
113
- }else{
114
-
115
- $where_sql .= " AND テーブル名.jissiday='".$jissiday."'";
116
-
117
- }
118
-
119
- }
120
-
121
- $list = $pdo->prepare("SELECT * FROM テーブル名 WHERE name = '$name' OR kenban = '$kenban' ");
122
-
123
- $list->execute();
124
-
125
- $temp= $list->fetchall();
126
-
127
- }
128
-
129
-
130
350
 
131
351
  else{
132
352
 
353
+ $where_sql="AND table_jikangai.kenban='".$kenban."'";
354
+
355
+ }
356
+
357
+
358
+
359
+ if($kara!=""){
360
+
361
+ $where_sql="WHERE table_jikangai.jissiday='".$kara."'";
362
+
363
+ }
364
+
365
+ if($made!=""){
366
+
367
+ $where_sql="WHERE table_jikangai.jissiday='".$made."'";
368
+
369
+ }
370
+
371
+ $list = $pdo->prepare("SELECT * FROM table_jikangai WHERE name = '$name' OR kenban = '$kenban' OR BETWEEN '$kara' & '$made' ");
372
+
373
+ $list->execute();
374
+
375
+ $temp= $list->fetchall();
376
+
377
+ }
378
+
379
+
380
+
381
+ else{
382
+
133
- $list = $pdo->prepare("SELECT * FROM テーブル名");
383
+ $list = $pdo->prepare("SELECT * FROM table_jikangai");
134
384
 
135
385
  $list->execute();
136
386
 
@@ -138,191 +388,9 @@
138
388
 
139
389
  };
140
390
 
141
-
142
-
143
- ?>
144
-
145
- ```
391
+ ```
146
-
147
-
148
-
149
- 検索ボックス
392
+
150
-
151
- ```php
393
+
152
-
153
- <h1 class="title">~時間外勤務申請済リスト~</h1>
154
-
155
-
156
-
157
- <div class="selectContainer">
158
-
159
- <div class="selectBox">
160
-
161
- <form action="jikangai_list_test3.php" method="get">
162
-
163
- <span>名前</span>
164
-
165
- <select name="name">
166
-
167
- <option></option>
168
-
169
- <?php foreach ($namelist as $output) {?>
170
-
171
- <option><?php echo $output['name']; ?></option>
172
-
173
- <?php }?>
174
-
175
- </select>
176
-
177
- <span>件番</span>
178
-
179
- <select name="kenban">
180
-
181
- <option></option>
182
-
183
- <?php foreach ($gyoumulist as $moutput) {?>
184
-
185
- <option value='<?php echo $moutput[kenban]?>'><?php echo $moutput[kenban].' '.$moutput['kenmei']; ?></option>
186
-
187
- <?php }?>
188
-
189
- </select>
190
-
191
- <br>
192
-
193
- <input class="datepicker" name="kara">から <input class="datepicker" name="made">まで
194
-
195
-
196
-
197
- <input class="sarch-button" type="submit" name="search" value="検索">
198
-
199
- <button onckick="location.href='jikangai_list_test3d'">クリア</button>
200
-
201
-
202
-
203
- </form>
204
-
205
- </div>
206
-
207
- </div>
208
-
209
- ```
210
-
211
-
212
-
213
- 検索結果は以下の表に出しています
214
-
215
- ```html
216
-
217
- <table>
218
-
219
- <tr>
220
-
221
- <th>名前</th>
222
-
223
- <th>予定日</th>
224
-
225
- <th>予定開始時刻</th>
226
-
227
- <th>予定終了時刻</th>
228
-
229
- <th>承認</th>
230
-
231
- <th>実施日</th>
232
-
233
- <th>実施開始時刻</th>
234
-
235
- <th>実施終了時刻</th>
236
-
237
- <th>時間外稼働時間</th>
238
-
239
- <th>件番</th>
240
-
241
- <th>内容</th>
242
-
243
- <th>総務印</th>
244
-
245
- <th>編集</th>
246
-
247
- <th>削除</th>
248
-
249
- </tr>
250
-
251
-
252
-
253
- <?php
254
-
255
- if(isset($temp)){
256
-
257
- foreach($temp as $data){
258
-
259
- ?>
260
-
261
- <tr>
262
-
263
- <?php printf("<td>%s</td>",$data['name']); ?>
264
-
265
- <?php printf("<td>%s</td>",$data['yoteiday']); ?>
266
-
267
- <?php printf("<td>%s</td>",$data['yoteistarttime']); ?>
268
-
269
- <?php printf("<td>%s</td>",$data['yoteiendtime']); ?>
270
-
271
- <?php printf("<td>%s</td>",$data['syounin']); ?>
272
-
273
- <?php printf("<td>%s</td>",$data['jissiday']); ?>
274
-
275
- <?php printf("<td>%s</td>",$data['jissistarttime']); ?>
276
-
277
- <?php printf("<td>%s</td>",$data['jissiendtime']); ?>
278
-
279
- <?php
280
-
281
- $from = $data['jissiendtime'];
282
-
283
- $to = $data['jissistarttime'];
284
-
285
- $result = date_diff(new DateTime($from), new DateTime($to))->format('%H:%I:%S');
286
-
287
- printf("<td>%s</td>",$result);
288
-
289
- ?>
290
-
291
- <?php printf("<td>%s</td>",$data['kenban']); ?>
292
-
293
- <?php printf("<td>%s</td>",$data['naiyou']); ?>
294
-
295
- <?php printf("<td>%s</td>",$data['soumuin']); ?>
296
-
297
- <td><a class="fa fa-edit" href="update_form_test.php?id=<?php echo $data['id']?>"></a></td>
298
-
299
- <td><a class="fa fa-trash delete" href="delete.php?id=<?php echo $data['id'] ?>"></a></td>
300
-
301
- </tr>
302
-
303
- <?php
304
-
305
- }}
306
-
307
- ?>
308
-
309
- </table>
310
-
311
- ```
312
-
313
-
314
-
315
- # 試したこと
316
-
317
- ```
318
-
319
- $list = $pdo->prepare("SELECT * FROM table_jikangai WHERE name = '$name' OR kenban = '$kenban' AND '$kara' >= jissiday AND '$made' = jissiday ");
320
-
321
- $list->execute();
322
-
323
- $temp= $list->fetchall();
324
-
325
- ```
326
394
 
327
395
  2つのjissidayをkara、madeとして範囲検索をできるようにしたいのですがうまくいきません。
328
396
 

1

質問文を訂正

2020/08/14 08:08

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  PHPで社員が残業した記録の一覧から絞り込み検索をできるようにしています。
2
2
 
3
- 検索する要素は名前(name)、件番(kenban)、残業をした日(jissiday)です。名前と件番を使っての検索はできるのですが、日付の範囲をしての検索の仕方がわかりません。
3
+ 検索する要素は名前(name)、件番(kenban)、残業をした日(jissiday)です。名前と件番を使っての検索はできるのですが、日付の範囲を指定しての検索の仕方がわかりません。
4
4
 
5
5
  以下がコードです。
6
6