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

回答編集履歴

1

調整

2018/10/23 04:53

投稿

yambejp
yambejp

スコア117906

answer CHANGED
@@ -15,4 +15,30 @@
15
15
  ```PHP
16
16
  $stmt->execute(['0001','0002','0003']);
17
17
  ```
18
- 与えるidの数が可変なら疑問符での処理が楽
18
+ 与えるidの数が可変なら疑問符での処理が楽
19
+
20
+ # 可変データサンプル
21
+
22
+ ```PHP
23
+ <?PHP
24
+ $uid=filter_input(INPUT_GET,"uid",FILTER_DEFAULT,FILTER_REQUIRE_ARRAY);
25
+ $data=[];
26
+ $sql = "select user_name from user where 1 ";
27
+ if(count($uid)>0){
28
+ $sql.= "and user in (".implode(",",array_fill(0,count($uid),"?")).") ";
29
+ $data=array_merge($data,$uid);
30
+ }
31
+ print $sql;
32
+ print_r($data);
33
+ // $stmt = $pdo->prepare($sql);
34
+ // $stmt->execute($data);
35
+ ?>
36
+ <form>
37
+ <label><input type="checkbox" name="uid[]" value="0001">1</label><br>
38
+ <label><input type="checkbox" name="uid[]" value="0002">2</label><br>
39
+ <label><input type="checkbox" name="uid[]" value="0003">3</label><br>
40
+ <label><input type="checkbox" name="uid[]" value="0004">4</label><br>
41
+ <label><input type="checkbox" name="uid[]" value="0005">5</label><br>
42
+ <input type="submit" value="go">
43
+ </form>
44
+ ```