永发信息网

关于PHP搜索的问题,搜索优先排序

答案:2  悬赏:10  手机版
解决时间 2021-02-15 18:02
  • 提问者网友:聂風
  • 2021-02-14 18:54
我有个问题想大家帮忙下,
用几个关键字进行文章数据库匹配搜索,当标题包含关键字最多的排在最上,其他依次排列。
比如:关键字“楼市”“北京”“降价”
当标题包含三个关键字的排在前面,包含两个的排在后面,包含一个的排在最后
有没有哪位大侠帮帮忙啊!
谢谢
最佳答案
  • 五星知识达人网友:像个废品
  • 2021-02-14 19:11
数据表:
Id Title
1 北京我们的楼市降价了
2 我们的楼市降价了
3 北京的楼市降价了
4 北京我们的楼市降价、降价了

$key=array('楼市', '北京', '降价');

for($i=0;$i {
$if_count.="if(instr(Title, '".addslashes($key[$i])."'),1,0)+";
}
$if_count=substr($if_count, 0, -1).' as count';

mysql_query("select abc.*,$if_count from abc order by count desc");
?>

执行结果:
Id Title count
1 北京我们的楼市降价了 3
3 北京的楼市降价了 3
4 北京我们的楼市降价、降价了 3
2 我们的楼市降价了 2
全部回答
  • 1楼网友:夜余生
  • 2021-02-14 19:48
你好! 我也很想知道这个问题 如有疑问,请追问。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯