(SELECT * FROM mytable WHERE name LIKE '%$findto%')
UNION
(SELECT * FROM mytable WHERE key LIKE '%$findto%')
不知道你这出现的次数是啥意思,难道指的是按name搜索的多就排在前面,按key搜索的多key就排在前面。
解决方案 »
- php 显示报错信息
- 求如何在文本框输入数据插入到数据库中
- 求款代码编辑软件,需求div css php 有代码提示跟格式化
- 如何截取指定位置的字符?
- 留言板问题求助
- 老问题,聊天室的无刷新技术!
- 类内部的变量传递。高分求教,PHP高手请进。
- 为什么GD库中有的函数不能用,像gdImageColorAllocateAlpha(),我可是装的最新的GD库阿??
- 请教一个数组重新排序的问题
- phpStorm 打开后编辑框右下角总是一直提示 waiting for reply from http://plugins.jetbrains...
- 请问如何获取别的网站上其的搜索数据信息
- 数据库为什莫插入一条空的记录?
(SELECT * FROM mytable WHERE name LIKE '%$findto%')
UNION
(SELECT * FROM mytable WHERE `key` LIKE '%$findto%')
上面这句可以得到Name中含有$findto,先显示出来,这个很简单,没问题了。再用下面的SQL读出Key中含有$findto的记录。
"select * from mytable WHERE key like '%$findto%'"
再对查询出来的记录集做分析、排序,把key中含有比较多$findto的放到上面。给你大概说下我想到的分析方法:
我是想把最后得到的数组餿倒序排。
计算key中含有多少个$findto,比如得到是$x个,给数组加个“字段”order_num,值为$x。最后按order_num倒序排就可以了。
你的相法是不可能的你不太可能计算出一个字段中的词频数,所以意义不太,
其他的做法一一个字段name,一个字段值,将你要找的值具体化,在value只一个值如果只是统计字段词频,可参照一下http://topic.csdn.net/u/20080508/17/6f088646-decc-4aa9-9371-4692b99d5413.html
还有,你帖的帖子和楼主要的都不一样。。