有人能帮忙吗?我正在尝试使用php构建一个搜索,该搜索在mysql中搜索文本字段。
我希望用户能够输入一个必须具有的条件,一个或条件和一个非条件,以及能够搜索字符串,例如:
("这个短语"或"那个短语")AND单词
目前,我正在使用下面的例子来生成一个搜索字符串:
$all = $row['and_search'] ;
$any = $row['or_search'] ;
$none = $row['not_search'];
if((!$all) || ($all == "")) { $all = ""; } else { $all = "$all"; }
if((!$any) || ($any == "")) { $any = ""; }
if((!$none) || ($none == "")) { $none = ""; } else { $none = "$none"; }
上面的内容只适用于单个单词,但不适用于像上面例子这样的搜索。
有什么想法我可以改变实现这一点吗?
通过空格将$all、$any和$none剥离到数组中。而不是像一样加入他们
$newAll = '("' . join('" OR "', split(' ', $all)) . '")';