Php Mysql全搜索
阿罗哈,我的目标是能够搜索我的数据库中的信息在一个“广泛的方式”。。。 我有一个标签框,信息通过以下方式发送到mysql:Php Mysql全搜索,php,html,mysql,Php,Html,Mysql,阿罗哈,我的目标是能够搜索我的数据库中的信息在一个“广泛的方式”。。。 我有一个标签框,信息通过以下方式发送到mysql: $save= $_SESSION['cool']; //假设我们标记并保存了50个包含“红色”和“白色”的单词,然后将其发送到数据库,如下所示: $save= preg_replace('/([,])/', '$1 $2', $save); //this adds space. $save= preg_replace('/[^\p{L
$save= $_SESSION['cool'];
//假设我们标记并保存了50个包含“红色”和“白色”的单词,然后将其发送到数据库,如下所示:
$save= preg_replace('/([,])/', '$1 $2', $save); //this adds space.
$save= preg_replace('/[^\p{L}\p{N}\s]/u', '', $save); // this deletes the comma.
$mysqli = new mysqli("localhost", "root", "0", "mydb");
if ($mysqli->query("INSERT INTO table (staff) VALUES ('$save') "));
好的,在我的搜索页面上,也是一个标签框,我搜索信息如下:
$search= $_SESSION['search'];
//这里我们保存了白色、红色和粉色//
$search= preg_replace('/([,])/', '$1 $2', $search); //this adds space.
$search= preg_replace('/[^\p{L}\p{N}\s]/u', '', $search); // this deletes the comma.
$mysqli = new mysqli("localhost", "root", "0", "mydb");
$fetch = ($mysqli->query("SELECT * FROM table WHERE staff LIKE ('%$search%') "));
正如您所看到的,我曾尝试使用%%
,但当我按顺序键入单词时,echo
结果无效
我的问题是否有改进搜索的方法?因此,当我搜索“红色”和“白色”时,它将显示包含“红色”或“白色”的所有内容。您可以拆分搜索键并分别查找它们:
$search1= explode(',',$search); //splits search
$mysqli = new mysqli("localhost", "root", "0", "mydb");
$query = "SELECT * FROM table WHERE staff LIKE '%" . implode("%' AND staff LIKE '%", $search1) . "%'";
$fetch = ($mysqli->query($query));
您的问题不清楚,但您可能希望查看全文搜索您是否找到了令人满意的解决方案?您希望如何改进搜索?您认为这是一种改进吗?它与搜索词的顺序无关。你还想支持什么?