PHP SQL SELECT,其中包含多个单词的搜索项

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP SQL SELECT,其中包含多个单词的搜索项脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个选择,如查询搜索表单,如下所示:
<?PHP 
$bucketseArch = sanITizeone($_POST["bucketsearch"],"plain");
$bucketsearch = strip_word_htML($bucketsearch);
?>

 if(isset($_POST['search'])){
                  $result=MysqL_QUERY( "SELECT * From buckets where bucketname like '%$bucketsearch%' order by bucketname");
              }else{
              $result=MysqL_QUERY( "SELECT * From buckets order by bucketname");
          }

我的问题是,如果有人搜索苹果和梨”的例子,我没有得到任何包含任何单词的结果,我只能让它返回结果(1个结果)及其中的所有单词.

任何人都可以帮我把这个搜索更多一些吗?
提前致谢.

那么你想要使用输入的每个单词进行AND搜索,而不是确切的字符串?怎么样这样:
$searchTerms = explode(' ',$bucketsearch);
$searchTermBits = array();
foreach ($searchTerms as $term) {
    $term = trim($term);
    if (!empty($term)) {
        $searchTermBits[] = "bucketname LIKE '%$term%'";
    }
}

...

$result = MysqL_query("SELECT * FROM buckets WHERE ".implode(' AND ',$searchTermBits).");

这会给你一个像这样的查询

SELECT * FROM buckets WHERE bucketname LIKE '%apple%' AND bucketname LIKE '%and%' AND bucketname LIKE '%PEar%'

如果要匹配任何搜索词而不是全部,请将AND更改为OR.进一步的改进可能涉及定义一些停止词,如’和’,以提供更好的结果.

脚本宝典总结

以上是脚本宝典为你收集整理的PHP SQL SELECT,其中包含多个单词的搜索项全部内容,希望文章能够帮你解决PHP SQL SELECT,其中包含多个单词的搜索项所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。