gpt4 book ai didi

php - 如何在 Mysql 中实现搜索查询

转载 作者:行者123 更新时间:2023-11-30 23:27:15 26 4
gpt4 key购买 nike

我想根据这些表在我的应用程序中实现搜索功能。

我在搜索页面上有 5 个字段

  1. 输入框 - 关键字或标题中的任何单词
  2. 作者 - 选择框(author_id 将作为值传递给函数)
  3. 类别名称 - 选择框(category_id 将作为值传递给函数)
  4. themonth - 从 1 到 12 中选择框
  5. 那一年 - 从 2000 年到 2012 年选择框

我想根据这些规则创建搜索查询,

  1. 结果数组将按insights排序。read_time,(文章被阅读了多少次)
  2. 只想获取文章article_id

成熟的工作示例在这里

我正在运行以下查询以获取但它不完整 https://leading-people.com/search

SELECT article.article_id FROM article WHERE article.is_active = '1' AND (content LIKE '%%' OR title LIKE '%%' OR tags LIKE '%%') UNION ALL SELECT article.article_id FROM keywords INNER JOIN article WHERE article.is_active = '1' AND (article.article_id = keywords.article_id AND keywords.keywordtext LIKE '%%')

文章

  • article_id(主要)
  • is_active
  • 标题
  • 月份
  • 那一年

article_author

评论:此表仅供引用,作者详情在另一表中。所以这些 id(s) 仅供引用。

  • article_author_id(主要)
  • author_id
  • article_id

article_categories

评论:此表仅供引用,类别详情在另一表中。所以这些 id(s) 仅供引用。

  • article_categories_id(主要)
  • article_id
  • categories_id

表格见解

评论:此表仅供引用,类别详情在另一表中。所以这些 id(s) 仅供引用。

  • insights_id(主要)
  • article_id
  • read_time

TABLE 关键字

评论:此表仅供引用,类别详情在另一表中。所以这些 id(s) 仅供引用。

  • keyword_id(主要)
  • 文章编号
  • 关键字文本

希望!我已正确格式化,以便每个人都能理解!

最佳答案

这可能会帮助您完成任务:

$keyword_mysql= mysql_real_escape_string($keyword);

SELECT article.article_id
FROM article
LEFT JOIN insights ON(article.article_id=insights.article_id)
WHERE article.is_active = '1' AND (content LIKE '%{$keyword_mysql}%' OR title LIKE '%{$keyword_mysql}%' OR tags LIKE '%{$keyword_mysql}%')
UNION DISTINCT
SELECT article.article_id
FROM keywords INNER JOIN article WHERE article.is_active = '1' AND (article.article_id = keywords.article_id AND keywords.keywordtext LIKE '%{$keyword_mysql}%')
LEFT JOIN insights ON(article.article_id=insights.article_id)
ORDER BY insights.read_time

您还可以使用反斜杠转义 $keyword_mysql 中的下划线和百分号。

如果 read_time 列不是所选字段的一部分,我不确定排序是否有效。如果不是,请将其添加到所选字段并改用 ORDER BY read_time。

关于php - 如何在 Mysql 中实现搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12618459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com