php如何在mysql

时间:2016-12-01 18:06:01

标签: php mysql database search

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

1 个答案:

答案 0 :(得分:2)

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

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