回答編集履歴
1
若干修正
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
|
-
実際のデータ
|
23
|
+
実際のデータ投入の際にはPDOのprepare処理が必要になります
|