2016-12-01 9 views
-1

私はPHPでmysqlデータベースを使用しています。私は自分のキーワードを使って画像を検索するフォトギャラリーのウェブサイトを作成しています。キーワードは既にデータベースに保存されています。これは、 で区切られています。検索フィールドを作成して、「メリークリスマス」のようなクエリを取得したかったのです。私はこれらの2つのキーワードをメリーとクリスマスにするimplode関数を使用します。キーワードフィールドでこれらの2つの単語を検索して、これらの結果と一致する画像を検索し、最大のダウンロード順にそれらの単語を戻したいと考えました。ダウンロードは、データベース内の別の列であり、合計ダウンロードの情報もあります。基本的に私はSQLの初心者です。どんな助けもありがとう。前もって感謝します。php mysqlでキーワードを検索するには

+0

あなたのコードはどこですか?あなたの質問はあなたには何もないことを示唆している。 –

+0

答えを期待したらコードを表示してください! –

+0

あなたはあなたのウェブサイトに自動完成入力をする必要があります。ドキュメントはこちらです - > https://jqueryui.com/autocomplete/ fun>;) –

答えて

2

あなたのフォームのフィールド名が「keywords」であると仮定すると、これは多かれ少なかれ実行したかったと思います。

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

} 

これは、最大ダウンロードで注文されたメリーまたはクリスマスのキーワードを使用して結果を取得します。ありがとう。

関連する問題