0

次のmysqlコードがあります:

SELECT * FROM top_movies WHERE genre LIKE '%$genre%' 

$genre は「コメディ ドラマ」などの文字列です

データベースのジャンル列にはコメディドラマなどの文字列があります。

$genre がコメディ ドラマの場合、コメディ ドラマに一致します。でもドラマ・コメディに合わせたい。

どうすればこれを達成できますか?

ありがとう。

注: $genre は動的変数です。含まれる単語の数、順序、または含まれる単語はわかりません。

注 2: 私は PHP を使用しているため、PHP を使用した操作はすべて歓迎されます。

4

1 に答える 1

3

PHPでは、ジャンルを単語に分割する必要があります

$genre = explode($genre," ")

$genre は and 配列になり、各要素には 1 つの単語が含まれます

やるべき広告

$query = ""
foreach $genre as $element
{
  if (strlen($query) > 1)
  {
    $query += "AND "
  }
  $query += "genre LIKE  %"+$element + "% "
}
$query = "SELECT * FROM top_movies WHERE " + $query

このようにして、順序に関係なく、ジャンル内の個々の要素を検索します

于 2012-09-28T17:10:54.153 に答える