teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

コードの追記

2015/05/25 06:14

投稿

samazama4623
samazama4623

スコア59

title CHANGED
File without changes
body CHANGED
@@ -10,4 +10,55 @@
10
10
  となってしまいます
11
11
  prepare()に突っ込むPOSTは取得出来ています
12
12
 
13
- どこをみていけばよいでしょうか
13
+ どこをみていけばよいでしょうか
14
+ ```lang-php
15
+ $search_params = array('id','no','name');
16
+ $eq = array();
17
+ $val = array();
18
+ //foreachで回してempty判断
19
+ foreach($search_params as $value) {
20
+ //POSTされていなければWHEREを作る
21
+ if(!empty( $_POST[$value] )){
22
+ //$eq[] = $value.' =?';
23
+ $eq[] = $value;
24
+ $val[] = $_POST[$value];
25
+ }
26
+ }
27
+ $index = 0;
28
+ $add_where = array();
29
+ foreach ($eq as $value){
30
+ //最初だったらwhereをつける
31
+ if($index == 0){
32
+ $add_where[] =" where "."reg.".$value.' = ? ';
33
+ } else {
34
+ $add_where[] = " AND "."reg.".$value.' = ? ';
35
+ }
36
+
37
+ $index++;
38
+ }
39
+ $sql =" SELECT reg.id,reg.no,reg.name
40
+ FROM jt as reg
41
+ LEFT JOIN
42
+ jisseki as jisseki
43
+ ON
44
+ reg.id = jisseki.id
45
+
46
+ ";
47
+ foreach($add_where as $value){
48
+ $sql .= $value;
49
+ }
50
+ //$value配列の中身を変換する
51
+ foreach ($val as $key=>$vals) {
52
+
53
+ $post_data[$key] = mb_convert_kana($vals, 'rn');
54
+
55
+ }
56
+
57
+ $result = select_db_from_param($sql,$val);//$sqlと配列$valを渡してprepareとexecuteを実行する関数
58
+ $items = array();
59
+
60
+ while ($data = ($result->fetch(PDO::FETCH_ASSOC))){
61
+ $items[] = $data;
62
+
63
+ }
64
+ ```