我怎样才能从数据库
类似的帖子,我有一个消息剧本,我想从数据库我怎样才能从数据库
任何帮助,得到类似的消息
我有这个
table => news
fields => id, title, news
,我用这个代码
$select = $mysqli->query("SELECT * from news WHERE title LIKE '%$title%' LIMIT 4 ");
$num = $select->num_rows;
while ($rows = $select->fetch_array(MYSQL_ASSOC)){
$id_news = $rows ['id'];
$title_news = $rows ['title'];
$news_news = $rows ['news'];
echo '<a href="'.$id_news.'">'.$title_news.'</a>';
}
但我认为这对于搜索和我没有得到预期的结果
任何其他代码从数据库中获取类似的新闻
感谢
这是很难回答,因为我们不知道什么是“相似的”对你意味着什么,但你可能想看看MySQL Full-Text Search Functions
我的意思是相同的主题 –
如果你的意思是**相同**,那么你甚至不需要'%',你已经有了正确的查询。如果你实际上不是指**相同**,请详细说明。 – Langdi
据我所知,没有快速,明确的方法来做到这一点。您要求提供全文关键字或语义搜索,这是一个非常先进的主题。有完整的搜索服务器完全是为此目的而设计的(Sphinx - http://sphinxsearch.com/ - 是第一个想到的)。
在我看来,你有两个选择:
- 切换到搜索服务器,像狮身人面像,并使用该技术。这超出了这个问题的范围。
- 转换您的数据库模式,我将在下面解释。
对于选项#2,例如,您可以添加一个keywords
表并为每篇文章插入关键字。然后,在搜索时,您可以使用关键字查找任何文章,并查找具有相同关键字的文章。
请定义类似的用法。你的意思是相同的话吗?如果是这样,多少?他们是否需要完全相同的单词(例如复数等)?你是否指同一主题?在定义相似的含义时,请尽可能清楚。 – Technoh
@Technoh是的,我的意思是相同的主题 –