Php 从mysql数据库中搜索输入的单词,并根据最相关的单词进行排序
我想得到一个结果,并根据最相关的 .这是一张mysql表Php 从mysql数据库中搜索输入的单词,并根据最相关的单词进行排序,php,mysql,sorting,search,Php,Mysql,Sorting,Search,我想得到一个结果,并根据最相关的 .这是一张mysql表 id sentence 1 website download free idm here 2 get a free idmas5 from here 3 check out this idm 4 Here is other softwares 这是一个代码 <?php $word1 = 'download'; $word2 = 'idm'; mysql_query("
id sentence
1 website download free idm here
2 get a free idmas5 from here
3 check out this idm
4 Here is other softwares
这是一个代码
<?php
$word1 = 'download';
$word2 = 'idm';
mysql_query("SELECT * FROM phrase WHERE MATCH(sentence)
AGAINST('+$word1 +$word2' IN BOOLEAN MODE"))
//above query does not work
因为download和idm都出现在第一个id中,所以它位于顶部,只有idm出现在第三个id中,它位于第二个位置。在第二个id中,单词
idmas5从idm开始,因此它位于thrd位置。在最后一个id中,没有匹配的单词,因此无法显示
我正在使用MATCH……来对抗我认为这很好。mysql\u query()
在SELECT
上返回一个结果集。所以你需要像这样分配结果
$result=mysql_query("SELECT * FROM phrase WHERE MATCH(sentence)
AGAINST('+download +idm' IN BOOLEAN MODE"))
然后使用类似于mysql\u fetch\u array()的函数检索结果
你有什么问题?我不能得到这样的结果。请指导我如何得到这样的结果。你知道吗
$result=mysql_query("SELECT * FROM phrase WHERE MATCH(sentence)
AGAINST('+download +idm' IN BOOLEAN MODE"))
while ($row = mysql_fetch_array($result)) {
printf("ID: %s SENTENCE: %s", $row[0], $row[1]);
}