PHP如何通过一个输入框模糊搜索任意字段中满足其一种即返回结果
如上图,需要通过一个输入框来模拟搜索下方的3个字段。做法还是通过SQL SELECT语句用来从表中获取数据,废话不多说上代码:
<?php
$sql="select * from muy_app where 1 " //获取表 muy_app 中数据
$queryc=$db->query($sql); //操作数据库函数自己封装
$nums = $db->num_rows($queryc); //获取总条数
$enums = 10; //每页显示的条目
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$bnums = ($page - 1) * $enums;
$name=isset($_POST['name']) ? addslashes(trim($_POST['name'])) : '';//取输入框的值
if ($name!=''){
$sql="select * from muy_app where name like '%{$name}%' order by id desc limit $bnums,$enums " // order开始后面这些可以不写。 此时只解决了单个字段模糊搜索
}
?>
此时只解决单个字段模糊搜索的问题,多个字段只需在后面添加相应字段即可。如下
//接上面代码
if($name!=''){
$sql = "select * from eruyi_app where name like '%{$name}%' || ((id like '%{$name}%')) || ((beizhu like '%{$name}%')) order by id desc limit $bnums,$enums";
}
//此处填写了3个字段,分别是 'name' , 'id' , 'beizhu'
效果如下:
以上就是PHP模糊搜索功能的实现,有不足之处还望大神补充。