回答編集履歴

2

修正

2016/12/08 23:42

投稿

ttyp03
ttyp03

スコア16998

test CHANGED
@@ -66,7 +66,7 @@
66
66
 
67
67
  $where .= " $v=?";
68
68
 
69
- $data[] = $_POST['A'];
69
+ $data[] = $_POST[$v];
70
70
 
71
71
  }
72
72
 

1

個人的修正

2016/12/08 23:42

投稿

ttyp03
ttyp03

スコア16998

test CHANGED
@@ -40,6 +40,38 @@
40
40
 
41
41
  $stmt->fetch(PDO::FETCH_ASSOC);
42
42
 
43
+ ```
43
44
 
44
45
 
46
+
47
+ もう解決されてますが、個人的にリファクタリングしました。
48
+
49
+ 多少スッキリ。
50
+
51
+ ```PHP
52
+
53
+ $abc= [ 'A', 'B', 'C' ];
54
+
55
+ $data = Array();
56
+
57
+ $sql="SELECT * FROM data";
58
+
59
+ $where = "";
60
+
61
+ foreach($abc as $v){
62
+
63
+ if(isset($_POST[$v])){
64
+
65
+ $where .= ($where == "")? " WHERE": " AND";
66
+
67
+ $where .= " $v=?";
68
+
69
+ $data[] = $_POST['A'];
70
+
71
+ }
72
+
73
+ }
74
+
75
+ $sql = $sql . $where;
76
+
45
77
  ```