![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
表article_post(主题表)
包含字段:id , title(标题) , note (内容)
表article_reply(回复表)
包含字段:id , post_id(关联的主题id) , note (内容)
要实现的效果,根据$keyword=$_POST['keyword']搜索出article_post.title,article_post.note,article_reply.note包含$keyword的主题。如果article_reply.note包含了$keyword的话,则搜索出article_reply所对应的article_post的内容。即所得的结果不能重复,而且所得的结果只列出article_post的内容。
就好像一些博客网站一样,输入关键字后点击搜索,就列出主题或者回复里包含有这个关键字的主题。
我的sql是这样写的,但是得到的结果不对:
$sql ="SELECT article_post.id,article_post.title,article_post.note FROM article_post,article_reply WHERE article_post.id=article_reply.post_id AND article_post.title LIKE '%$keyword%' OR article_post.note LIKE '%$keyword%' OR article_reply.note LIKE '%$keyword%' GROUP BY article_post.id,article_reply.post_id ORDER BY article_post.id DESC LIMIT 0,20";
请问这个sql要怎么写才对?虽然用like不好,但是目前只会用like实现

