- 私はユーザーの質問を保持するMySQLテーブルを持っています。
- 各ユーザーにはカテゴリが割り当てられています。
- 各質問は、1つ以上のユーザーカテゴリを対象とすることができます。
- 質問カテゴリは質問テーブルの列にあり、 は別のテーブルにありません。複数のユーザーカテゴリをターゲット質問について
- 、各カテゴリは、私は特定のユーザーのカテゴリがあることと一致して、テーブルからすべての質問を取得しようとしているように
|
などの文字で区切られます質問のカテゴリ欄にある文字列の文字列内の一致する単語
私は夫婦の問題に遭遇しました:私はと比較しようとしている文字列は、私はいくつかのカテゴリのでWHERE category LIKE "%'.$category.'%"
を使用することはできません
Retail|Field Based
のようなものかもしれないので
$string^
は動作しません。 は単語を共有します。たとえば:カテゴリだったRetail
とRetail Roadshow
Retail
場合、私は、現在のデータベース構造でこれを行う方法についての損失のビットでよ
Retail Roadshow
に、それもマッチします。私はデータベースの構造を変更するつもりはないが、現在どのように動作しているかについての正しい答えを得ることができない場合があります。
あなたの本能は正しいです.MySQLテーブルには区切られたデータが含まれてはいけません。それぞれの値は別のタブの行に存在するはずですe。この原則に従い、出会いの危機にある多くの問題がなくなります。 –
パイプの区切り文字を '|'にしたい場合は、 '$ sql =" select * from your_tableを実行します。ここで、category = '$ category'または '$ category |%'やcategory LIKE '%| $ category |% 'または'%| $ category 'のようなカテゴリ "; – MonkeyZeus
ユーザカテゴリに実際にカテゴリ名にパイプがあるとどうなりますか? – MonkeyZeus