質問編集履歴

1

文字数圧縮

2019/03/18 07:18

投稿

ikawa19660319
ikawa19660319

スコア10

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- PHP初心者の者です
1
+ HELP! おしえて下さい
2
2
 
3
3
 
4
4
 
@@ -14,17 +14,17 @@
14
14
 
15
15
  ソースのデータ取得部《 $stmt = $db->query("SELECT ... WHERE ... 》
16
16
 
17
- で、WHERE を使用したいのですが、くいきません。
17
+ で、WHERE を使用したいのですが、意図した動作となりません。
18
-
19
-
20
-
18
+
19
+
20
+
21
- 《 if (isset($_GET["func"]) && $_GET["func"] == "get_data") {
21
+ それは、《 if (isset($_GET["func"]) && $_GET["func"] == ...
22
22
 
23
23
  以降で、変数渡しが不能のようで、別ページのsubmitボタンで値を
24
24
 
25
- 送信し、それをTOP部の《 $_GET['InPass'] 》などで受け、それを
25
+ 送信し、それをTOP部の《 $_GET['InPass'] 》などで受け、条件指定で
26
-
26
+
27
- 条件指定でテーブル参照し、表示、編集させたいのですが、...
27
+ テーブル参照し、表示、編集させたいのですが、...
28
28
 
29
29
 
30
30
 
@@ -32,13 +32,13 @@
32
32
 
33
33
  渡らず、固定値(例えば、'HK1640')などでは、WHERE の条件が機能し、
34
34
 
35
- 想定した結果が得られ
35
+ 意図した結果が得られるのでが、...
36
36
 
37
37
 
38
38
 
39
39
  また、別ページからの値は、《 if (isset($_GET["func"]) && ...》
40
40
 
41
- 直前の《 print $InPass; 》では想定通りの結果が得られます。
41
+ 直前の《 print $InPass; 》では意図した通りの結果が得られます。
42
42
 
43
43
 
44
44
 
@@ -52,10 +52,10 @@
52
52
 
53
53
 
54
54
 
55
+ ```ここに言語を入力
56
+
55
57
  <?php
56
58
 
57
-
58
-
59
59
  if(isset($_GET['InPass'])) {
60
60
 
61
61
  $InPass = $_GET['InPass'];
@@ -66,16 +66,12 @@
66
66
 
67
67
  }
68
68
 
69
-
70
-
71
69
  ?>
72
70
 
73
71
 
74
72
 
75
73
  <?php
76
74
 
77
-
78
-
79
75
  $dsn = 'sqlsrv:server=XXXXXXXX;database=XXXXX';
80
76
 
81
77
  $user = 'XXX';
@@ -84,18 +80,12 @@
84
80
 
85
81
  $db = new PDO($dsn, $user, $password);
86
82
 
87
-
88
-
89
- $columns = "Jcode varchar(20) PRIMARY KEY, Scode varchar(13) PRIMARY KEY, Name varchar(20), SaCode tinyint, SaName varchar(12), KJkyu money, JWarimasi money, SWarimasi money, HWarimasi money, YWarimasi money, DWarimasi money, Koutsu money, Sdatetime datetime" ;
90
-
91
-
83
+ $columns = "Jcode varchar(20) PRIMARY KEY, Scode varchar(13) PRIMARY KEY, Name varchar(20), SaCode tinyint, SaName varchar(12), KJkyu money, JWarimasi money, SWarimasi money, HWarimasi money, YWarimasi money, DWarimasi money, Koutsu money, Sdatetime datetime" ;
92
84
 
93
85
  $db->exec("CREATE TABLE IF NOT EXISTS TM_webJikyu ($columns)");
94
86
 
95
87
 
96
88
 
97
-
98
-
99
89
  /**************/
100
90
 
101
91
  /* データ取得部 */
@@ -106,38 +96,24 @@
106
96
 
107
97
  //print $InPass;
108
98
 
109
-
110
-
111
99
  if (isset($_GET["func"]) && $_GET["func"] == "get_data") {
112
100
 
113
-
114
-
115
101
  //$InPass = 'HK1640';
116
102
 
117
103
 
118
104
 
119
105
  $stmt = $db->query("SELECT pass_master.Pass, TM_webJikyu.SaCode, TM_webJikyu.Scode, TM_webJikyu.* FROM pass_master INNER JOIN TM_webJikyu ON pass_master.id = TM_webJikyu.Jcode WHERE pass_master.Pass='$InPass' ORDER BY TM_webJikyu.SaCode, TM_webJikyu.Scode;");
120
106
 
121
-
122
-
123
107
  $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
124
108
 
125
-
126
-
127
109
  $json = json_encode($rows);
128
110
 
129
-
130
-
131
111
  echo $json;
132
112
 
133
-
134
-
135
113
  exit();
136
114
 
137
115
 
138
116
 
139
-
140
-
141
117
  /*********************************/
142
118
 
143
119
  /* データ更新部(削除、変更)*/
@@ -146,8 +122,6 @@
146
122
 
147
123
  } else if (isset($_POST["func"]) && $_POST["func"] == "upd_data") {
148
124
 
149
-
150
-
151
125
  // データ受取
152
126
 
153
127
  $delid = $_POST["delid"];
@@ -158,22 +132,14 @@
158
132
 
159
133
  $upddata = json_decode($upddata, true);
160
134
 
161
-
162
-
163
135
  // トランザクション開始
164
136
 
165
137
  $db->beginTransaction();
166
138
 
167
-
168
-
169
-
170
-
171
139
  // データ削除
172
140
 
173
141
  if ($delid) {
174
142
 
175
-
176
-
177
143
  for ($i=0; $i<count($delid); $i++) {
178
144
 
179
145
  $sql = "DELETE FROM TM_webJikyu WHERE (((Jcode)=?) AND ((Scode)=?)) ";
@@ -182,29 +148,17 @@
182
148
 
183
149
  $stmt->execute(array(1,$delid[$i]["Jcode"], $delid[$i]["Scode"]));
184
150
 
185
-
186
-
187
151
  }
188
152
 
189
153
  }
190
154
 
191
-
192
-
193
-
194
-
195
155
  // データ変更
196
156
 
197
157
  if ($upddata) {
198
158
 
199
-
200
-
201
159
  for ($i=0; $i<count($upddata); $i++) {
202
160
 
203
-
204
-
205
- $sql = "UPDATE TM_webJikyu SET KJkyu=? WHERE (((Jcode)=?) AND ((Scode)=?))";
161
+ $sql = "UPDATE TM_webJikyu SET KJkyu=? WHERE (((Jcode)=?) AND ((Scode)=?))";
206
-
207
-
208
162
 
209
163
  $stmt = $db->prepare($sql);
210
164
 
@@ -212,50 +166,32 @@
212
166
 
213
167
  $upddata[$i]["KJkyu"],
214
168
 
215
-
216
-
217
169
  $upddata[$i]["Jcode"],
218
170
 
219
171
  $upddata[$i]["Scode"]));
220
172
 
221
-
222
-
223
173
  }
224
174
 
225
175
  }
226
176
 
227
177
 
228
178
 
229
-
230
-
231
179
  // トランザクション終了
232
180
 
233
181
  $db->commit();
234
182
 
235
183
  exit();
236
184
 
237
-
238
-
239
-
240
-
241
185
  }
242
186
 
243
-
244
-
245
187
  $db = null;
246
188
 
247
189
 
248
190
 
249
-
250
-
251
191
  ?>
252
192
 
253
193
 
254
194
 
255
-
256
-
257
-
258
-
259
195
  <!doctype html>
260
196
 
261
197
  <html>
@@ -264,98 +200,62 @@
264
200
 
265
201
 
266
202
 
267
-
268
-
269
203
  <!-- スクリプト部分 -->
270
204
 
271
205
  <script type="text/javascript">
272
206
 
273
-
274
-
275
207
  var Ajax = new XMLHttpRequest();
276
208
 
277
-
278
-
279
209
  // 削除対象IDを格納する配列
280
210
 
281
211
  var delid = [];
282
212
 
283
-
284
-
285
213
  // 変更データを格納する配列
286
214
 
287
215
  var upddata = [];
288
216
 
289
-
290
-
291
217
  // 新規登録データを格納する配列
292
218
 
293
219
  var insdata = [];
294
220
 
295
-
296
-
297
221
  window.onload = getSample;
298
222
 
299
223
 
300
224
 
301
-
302
-
303
225
  /************/
304
226
 
305
227
  /* 一覧表示部 */
306
228
 
307
229
  /************/
308
230
 
309
-
310
-
311
231
  function getSample() {
312
232
 
313
-
314
-
315
233
  var rows, row, i, out;
316
234
 
317
-
318
-
319
235
  //コメント追加
320
236
 
321
237
  out="";
322
238
 
323
-
324
-
325
239
  var url = "http://1.1.1.1/page1.php" + "?dummy=" + new Date().getTime() + "&func=" + "get_data";
326
240
 
327
-
328
-
329
241
  Ajax.open("GET", url, true);
330
242
 
331
-
332
-
333
243
  Ajax.send(null);
334
244
 
335
-
336
-
337
245
  Ajax.onreadystatechange = function() {
338
246
 
339
-
340
-
341
247
  if (Ajax.readyState == 4 && Ajax.status == 200) {
342
248
 
343
-
344
-
345
249
  out += '<p>';
346
250
 
347
251
  out += '<th><font size="6">時給マスタ登録</font></th>';
348
252
 
349
253
  out += '</p>';
350
254
 
351
-
352
-
353
255
  out += '<p>';
354
256
 
355
257
  out += '<table style="text-align: left;" border="0" cellpadding="2" cellspacing="2">';
356
258
 
357
-
358
-
359
259
  out += '<td><button type="button" onClick="Upd();" style="width:120px;font-size:18;">'+"更 新"+'</button></td>';
360
260
 
361
261
  out += '<td style="width: 200px; text-align: right;"><button type="button" onClick="Upd();" style="width:120px;font-size:18;color:red;">'+"削 除"+'</button></td>';
@@ -364,12 +264,8 @@
364
264
 
365
265
  out += '</p>';
366
266
 
367
-
368
-
369
267
  out += '<table border="1" id="sampletb">';
370
268
 
371
-
372
-
373
269
  out += '<tr>';
374
270
 
375
271
  out += '<th bgcolor=silver ><font Color="black">削除</th>';
@@ -382,56 +278,34 @@
382
278
 
383
279
  out += '<th bgcolor=silver width="110"><font size="2">基本時間給</th>';
384
280
 
385
-
386
-
387
281
  out += '</tr>';
388
282
 
389
-
390
-
391
283
  res = Ajax.responseText;
392
284
 
393
-
394
-
395
285
  if (res) {
396
286
 
397
-
398
-
399
287
  var rows = JSON.parse(res);
400
288
 
401
-
402
-
403
289
  for (i in rows) {
404
290
 
405
291
  out += '<tr>';
406
292
 
407
-
408
-
409
-
410
-
411
293
  //削除flg
412
294
 
413
295
  out += '<td><input type="checkbox" id="'+i+':0" onClick="delCheck(this)";></td>';
414
296
 
415
-
416
-
417
297
  //事業所名
418
298
 
419
299
  out += '<td><input type="text" readonly style="width:130px; background-color:#d3d3d3;" id="'+i+':1" value="'+rows[i]["Jcode"]+'" ></td>';
420
300
 
421
-
422
-
423
301
  //社員コード
424
302
 
425
303
  out += '<td><input type="text" readonly style="width:70px; background-color:#d3d3d3;" id="'+i+':2" value="'+rows[i]["Scode"]+'"></td>';
426
304
 
427
-
428
-
429
305
  //社員名
430
306
 
431
307
  out += '<td><input type="text" readonly style="width:150px; background-color:#d3d3d3;" id="'+i+':3" value="'+rows[i]["Name"]+'"></td>';
432
308
 
433
-
434
-
435
309
  //基本時間給
436
310
 
437
311
  if (rows[i]["KJkyu"] == null || rows[i]["KJkyu"] == '') {
@@ -444,30 +318,14 @@
444
318
 
445
319
  }
446
320
 
447
-
448
-
449
-
450
-
451
-
452
-
453
321
  out += '</tr>';
454
322
 
455
-
456
-
457
- }
323
+ }
458
-
459
-
460
324
 
461
325
  }
462
326
 
463
-
464
-
465
-
466
-
467
327
  document.getElementById("result").innerHTML = out;
468
328
 
469
-
470
-
471
329
  }
472
330
 
473
331
  }
@@ -476,20 +334,14 @@
476
334
 
477
335
 
478
336
 
479
-
480
-
481
- /********/
337
+ /**********/
482
338
 
483
339
  /* 変更部 */
484
340
 
485
- /********/
341
+ /**********/
486
-
487
-
488
342
 
489
343
  function updCheck(e) {
490
344
 
491
-
492
-
493
345
  e.parentNode.style.backgroundColor = 'darkgreen';
494
346
 
495
347
  var row = e.id.substr(0, e.id.indexOf(":"));
@@ -498,8 +350,6 @@
498
350
 
499
351
  var Scode = document.getElementById(row+':2').value;
500
352
 
501
-
502
-
503
353
  var Name = document.getElementById(row+':3').value;
504
354
 
505
355
  var SaCode = document.getElementById(row+':4').value;
@@ -510,48 +360,28 @@
510
360
 
511
361
 
512
362
 
513
-
514
-
515
-
516
-
517
363
  // 最初の変更処理
518
364
 
519
365
  if (upddata.length == 0) {
520
366
 
521
367
  upddata.push({"Jcode":tid, "Scode":Scode, "Name":Name, "SaCode":SaCode, "SaName":SaName, "KJkyu":KJkyu, "JWarimasi":JWarimasi, "SWarimasi":SWarimasi, "HWarimasi":HWarimasi, "YWarimasi":YWarimasi, "DWarimasi":DWarimasi, "Koutsu":Koutsu, "Sdatetime":Td_date});
522
368
 
523
-
524
-
525
369
  return;
526
370
 
527
371
  }
528
372
 
529
-
530
-
531
-
532
-
533
373
  // 2件目以降の変更処理
534
374
 
535
375
  // 重複がある場合の変更処理
536
376
 
537
377
  for (var i=0; i<upddata.length; i++) {
538
378
 
539
-
540
-
541
379
  if ((upddata[i]["Jcode"] == tid) || (upddata[i]["Scode"] == Scode)) {
542
380
 
543
-
544
-
545
- // 配列から除外
546
-
547
- //upddata.splice(i, 1);
548
-
549
381
  // 配列に追加
550
382
 
551
383
  upddata.push({"Jcode":tid, "Scode":Scode, "Name":Name, "SaCode":SaCode, "SaName":SaName, "KJkyu":KJkyu, "JWarimasi":JWarimasi, "SWarimasi":SWarimasi, "HWarimasi":HWarimasi, "YWarimasi":YWarimasi, "DWarimasi":DWarimasi, "Koutsu":Koutsu, "Sdatetime":Td_date});
552
384
 
553
-
554
-
555
385
  return;
556
386
 
557
387
  }
@@ -562,46 +392,30 @@
562
392
 
563
393
  upddata.push({"Jcode":tid, "Scode":Scode, "Name":Name, "SaCode":SaCode, "SaName":SaName, "KJkyu":KJkyu, "JWarimasi":JWarimasi, "SWarimasi":SWarimasi, "HWarimasi":HWarimasi, "YWarimasi":YWarimasi, "DWarimasi":DWarimasi, "Koutsu":Koutsu, "Sdatetime":Td_date});
564
394
 
565
-
566
-
567
-
568
-
569
395
  }
570
396
 
571
397
 
572
398
 
573
-
574
-
575
- /********/
399
+ /**********/
576
400
 
577
401
  /* 削除部 */
578
402
 
579
- /********/
403
+ /**********/
580
-
581
-
582
404
 
583
405
  function delCheck(e) {
584
406
 
585
-
586
-
587
407
  var tid = document.getElementById(e.id.replace(':0',':1')).value;
588
408
 
589
409
  var Scode = document.getElementById(e.id.replace(':0',':2')).value;
590
410
 
591
-
592
-
593
411
  // チェック入れたとき
594
412
 
595
413
  if (e.checked == true) {
596
414
 
597
415
  e.parentNode.parentNode.style.backgroundColor = 'crimson';
598
416
 
599
-
600
-
601
417
  delid.push({"Jcode":tid, "Scode":Scode});
602
418
 
603
-
604
-
605
419
  // チェック外したとき
606
420
 
607
421
  } else if (e.checked == false) {
@@ -610,18 +424,12 @@
610
424
 
611
425
  for (var i=0; i<delid.length; i++) {
612
426
 
613
-
614
-
615
427
  if ((delid[i]["Jcode"] == tid) || (delid[i]["Scode"] == Scode)) {
616
428
 
617
-
618
-
619
429
  delid.splice(i, 1);
620
430
 
621
431
  delid.splice(i, 2);
622
432
 
623
-
624
-
625
433
  }
626
434
 
627
435
  }
@@ -632,62 +440,36 @@
632
440
 
633
441
 
634
442
 
635
-
636
-
637
- /************/
443
+ /**************/
638
444
 
639
445
  /* 更新処理部 */
640
446
 
641
- /************/
447
+ /**************/
642
448
 
643
449
 
644
450
 
645
451
  function Upd() {
646
452
 
647
-
648
-
649
-
650
-
651
453
  delid2 = JSON.stringify(delid);
652
454
 
653
-
654
-
655
455
  upddata2 = JSON.stringify(upddata);
656
456
 
657
-
658
-
659
457
  insdata2 = JSON.stringify(insdata);
660
458
 
661
-
662
-
663
459
  url = "http://1.1.1.1/page1.php";
664
460
 
665
-
666
-
667
- Ajax.open("POST", url, true);
461
+ Ajax.open("POST", url, true);
668
-
669
-
670
-
462
+
671
- Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
463
+ Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
672
-
673
-
674
-
464
+
675
- Ajax.send("func=" + "upd_data" + "&delid=" + delid2 + "&upddata=" + upddata2 + "&insdata=" + insdata2);
465
+ Ajax.send("func=" + "upd_data" + "&delid=" + delid2 + "&upddata=" + upddata2 + "&insdata=" + insdata2);
676
-
677
-
678
-
466
+
679
- Ajax.onreadystatechange = function() {
467
+ Ajax.onreadystatechange = function() {
680
-
681
-
682
468
 
683
469
  if (Ajax.readyState == 4 && Ajax.status == 200) {
684
470
 
685
-
686
-
687
471
  getSample();
688
472
 
689
-
690
-
691
473
  // 配列初期化
692
474
 
693
475
  delid.length=0;
@@ -696,20 +478,14 @@
696
478
 
697
479
  insdata.length=0;
698
480
 
699
-
700
-
701
481
  }
702
482
 
703
-
704
-
705
483
  }
706
484
 
707
485
  }
708
486
 
709
487
 
710
488
 
711
-
712
-
713
489
  </script>
714
490
 
715
491
  </head>
@@ -724,8 +500,6 @@
724
500
 
725
501
 
726
502
 
727
-
728
-
729
503
  <?php
730
504
 
731
505
  //クエリー結果の開放
@@ -739,3 +513,5 @@
739
513
  sqlsrv_close($conn);
740
514
 
741
515
  ?>
516
+
517
+ ```