【问题标题】:php How to search for keywords in mysqlphp如何在mysql中搜索关键字
【发布时间】:2016-12-01 18:06:00
【问题描述】:

我正在使用带有 php 的 mysql 数据库。我正在创建一个照片库网站,我将在其中使用他们的关键字搜索图像。关键字已存储在数据库中,由 , 分隔 我想创建一个搜索字段,在其中我会得到像“圣诞快乐”这样的查询。我将使用 implode 函数使这两个关键字变得快乐,然后是圣诞节。我想在关键字字段中搜索这两个词来搜索与这些结果匹配的图像,并按照最大下载量的顺序返回它们。下载量也是数据库中的另一列,其中包含总下载量的信息。基本上我是 SQL 新手。任何帮助将不胜感激。提前致谢。

【问题讨论】:

  • 你的代码在哪里?你的问题表明你没有。
  • 在您期待答案时显示您的代码!
  • 您需要在您的网站上进行自动完成输入,这里是文档 -> jqueryui.com/autocomplete 玩得开心 ;)

标签: php mysql database search


【解决方案1】:

假设您表单中的字段名称是“关键字”,我认为这或多或少是您想要做的。

if (isset($_POST['keywords']) && $_POST['keywords']) {

    //explode with space
    $keywordList = explode(' ', $_POST['keywords']);

    //create OR clause for each keyword submitted
    $keywordClauseArr = array();
    foreach ($keywordList as $keyword) {
        $keywordClauseArr[] = "keywords LIKE '%$keyword%'";
    }

    //implode with OR
    $keywordClause = implode(' OR ', $keywordClauseArr);

    //finally create your sql string
    $sql = 'SELECT * FROM photos WHERE ' . $keywordClause . ' ORDER BY downloads DESC';

    //and then do your mysql query and other stuffs..

}

这将使用按最大下载量排序的关键字 Merry 或 Christmas 获取结果。谢谢。

【讨论】:

    猜你喜欢
    • 2011-04-24
    • 2013-04-08
    • 2017-02-18
    • 2018-12-16
    • 2010-10-20
    • 2015-03-07
    • 2010-10-07
    • 1970-01-01
    相关资源
    最近更新 更多