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

回答編集履歴

1

若干修正

2017/05/10 02:59

投稿

yambejp
yambejp

スコア117902

answer CHANGED
@@ -2,14 +2,13 @@
2
2
  流れ的には以下のような感じ
3
3
 
4
4
  ```PHP
5
- <form method="post">
6
- <input type="text" name="k" value=" a b c ">
7
- <input type="submit" value="go">
8
- </form>
9
- <?php
10
5
  $k=trim(filter_input(INPUT_POST,'k'));
11
6
  $keywords=preg_split("/\s+/",$k);
12
7
  $sql="select * from mytable where 1";
8
+ if(count($keywords)==1 and $keywords[0]===""){
9
+ $sql.=" and 0";
10
+ print "検索:".$sql.";<br>";
11
+ }else{
13
12
  foreach($keywords as $val){
14
13
  $sql.=" and myclumn like '%".$val."%'";
15
14
  }
@@ -18,6 +17,7 @@
18
17
  $sql="select * from mytable where 1";
19
18
  $sql.=" and myclumn regexp '".implode("|",$keywords)."'";
20
19
  print "or検索:".$sql.";<br>";
20
+ }
21
21
  ?>
22
22
  ```
23
- 実際のデータ豆乳の際にはPDOのprepare処理が必要になります
23
+ 実際のデータ投入の際にはPDOのprepare処理が必要になります