douxie1894 2016-08-16 10:42
浏览 36
已采纳

带有后缀的mysql搜索关键字,存储在数据库中的csv字符串中

I have in mysql database table column keywords there are csv keywords like "hotel, new hotel, good hotel".

Now when user enter hotel it works(select data) but not for hotels(it shouldn't). Now I want user enter hotels then it should also match hotel keyword.

In-short with suffix search should work. currently i implemented following.

$queried = trim(mysqli_real_escape_string($con,$_POST['query']));

$keys = explode(" ",$queried);


$sql = 'SELECT name FROM image WHERE keyword LIKE "%$queried%"';

foreach($keys as $k){
 $k= trim(mysqli_real_escape_string($con,$k));
  if(count($keys) > 1)
  {
     $sql .= ' OR keyword LIKE "%$k%" ';
  }
}
  • 写回答

2条回答 默认 最新

  • duanluo9369 2016-08-19 05:54
    关注

    i did this way it's not what i want but it works for my criteria.

    $suffix = array('','s','es','ing','ment'); // suffix you want to ad 
    
    $sql = 'SELECT name FROM image WHERE keyword LIKE "%$queried%"';
    
    foreach($keys as $k)
        {
          $k= trim(mysqli_real_escape_string($con,$k));
    
            for ($i=1; $i < sizeof($suf) ; $i++)
            {   
               if(substr($k, (-1 * strlen($suf[$i])))==$suf[$i])
               {
                   $wp=substr( $k, 0, (-1 * $i));
               }    
           }
            if($wp!="")
            {
                        $sql .= " OR keyword LIKE '%$k%' OR keyword LIKE '%$wp%' ";          
            }
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 win2012 iscsi ipsec
  • ¥15 封装的 matplotlib animation 不显示图像
  • ¥15 python摄像头画面无法显示
  • ¥15 关于#3d#的问题:d标定算法(语言-python)
  • ¥15 cve,cnnvd漏洞扫描工具推荐
  • ¥15 图像超分real-esrgan网络自己训练模型遇到问题
  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)