繁体   English   中英

php如何在mysql中搜索关键字

[英]php How to search for keywords in mysql

我正在使用php的mysql数据库。 我正在创建一个照相馆网站,在其中我将使用其关键字搜索图像。 关键字已经存储在以分隔的数据库中,我想创建一个搜索字段,在该字段中将得到类似“ Merry Christmas”的查询。 我将使用爆破功能,使这两个关键字成为Merry,然后成为圣诞节。 我想在关键字字段中搜索这两个词,以搜索与这些结果匹配的图像,并以最大下载量的顺序返回它们。 下载也是数据库中包含总下载信息的另一列。 基本上,我是SQL新手。 任何帮助将不胜感激。 提前致谢。

假设表单中的字段名称是“关键字”,我想这就是您想要做的事。

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来获取结果。 谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM