簡體   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