php通过数组查询mysql
我有一个数组,输出结果Array([0]=>我[1]=>是[2]=>奇葩[3]=>中的[4]=>战斗机)如果查询mysqlnews中的TITLE和DETAILS字段包含这...
我有一个数组,输出结果
Array ( [0] => 我 [1] => 是 [2] => 奇葩 [3] => 中的 [4] =>战斗机 )
如果查询mysql news 中的 TITLE 和 DETAILS 字段包含这组数组中大部分词的数据,例:有一条数据的TITLE字段包含了“奇葩”和“战斗机”,条件成立。
这个mysql查询语句要如何写?望大神指点。
附:本人是在做一个类似百度的高级搜索,已经将传入的关键词进行了分词,有什么好的办法来匹配?
或者大神请给个思路,跪谢了!人随时在。收到回答后1分钟内回复。 展开
Array ( [0] => 我 [1] => 是 [2] => 奇葩 [3] => 中的 [4] =>战斗机 )
如果查询mysql news 中的 TITLE 和 DETAILS 字段包含这组数组中大部分词的数据,例:有一条数据的TITLE字段包含了“奇葩”和“战斗机”,条件成立。
这个mysql查询语句要如何写?望大神指点。
附:本人是在做一个类似百度的高级搜索,已经将传入的关键词进行了分词,有什么好的办法来匹配?
或者大神请给个思路,跪谢了!人随时在。收到回答后1分钟内回复。 展开
2个回答
展开全部
明白你的意思了,你的意思是做成类似用空格分隔的方法来精确查找数据库里面的数据吧,比如用户输入“你好 明天”那就检索出既包含你好,也包含明天的搜索语句吧,首先给你个思路,对检索的数据trim一下,去除前后空格,然后用explode函数进行分割成数据,根据用户输入的内容里面的标签分割,比如空格,下划线等等,然后组一个sql语句,比如查询news表,就$sql="select * from `news`";然后定义一个$where,在foreach下边循环数组,边给$where赋值,最后$sql=$sql.$where,查询这个新组的$sql语句就ok了,不过一般建议多数组里面的元素个数进行限制一下!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的news表里,一个记录的某个字段,包括多少个词呢?
比如,title字段里的内容,是“奇葩、战斗机、我、我们、天气”这样的多个词语,还是说,只有一个词语?就是只包含一个“是”或者只有一个“奇葩”等等?
条件说清楚了,才好说SQL语句怎么写啊。
比如,title字段里的内容,是“奇葩、战斗机、我、我们、天气”这样的多个词语,还是说,只有一个词语?就是只包含一个“是”或者只有一个“奇葩”等等?
条件说清楚了,才好说SQL语句怎么写啊。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询