2016-12-01 22 views
-1

我正在使用mysql數據庫與php。我創建了一個照片庫網站,我將使用他們的關鍵字搜索圖像。關鍵字已存儲在數據庫中,用 分隔,我想創建一個搜索字段,在其中查詢「聖誕快樂」這樣的查詢。我將使用內部函數,這將使這兩個關鍵字快樂,然後聖誕節。我想在關鍵字字段中搜索這兩個詞,以搜索匹配這些結果的圖像,並按照最大下載順序返回它們。下載也是數據庫中的另一列,其中包含總下載信息。基本上我是SQL新手。任何幫助將不勝感激。提前致謝。php如何在mysql中搜索關鍵字

+0

你的代碼在哪裏?你的問題表明你沒有。 –

+0

當你期待一個答案時顯示你的代碼! –

+0

你需要在你的網站上進行自動完成輸入,這裏是文檔 - > https://jqueryui.com/autocomplete/玩得開心;) –

回答

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.. 

} 

這將獲取結果與關鍵字快樂或聖誕節排序的最大下載量。謝謝。