新しいアイテムがデータベースに追加されたときに送信される電子メール通知システムを作成しようとしています。これらのすべては、ドロップダウンリストであるジョブアラートに似た電子メール通知を送信するための少しのヘルプ
Color [n/a, pink, red, blue, and green]
Shape [n/a, square, rectangle, and circle]
width [n/a, narrow, wide]
-
ユーザーが自分のメールアドレスを提供することにより、および以下のようにしている自分の好みを選択して登録します。
したがって、ユーザーが色を赤色として選択し、他のすべてのオプションをn/aとしておくと、赤色の色を持つ新しい項目の通知を受け取りたいということです。 Colore = redとShape = circleを選択すると、赤の赤いANDシェイプを持つアイテムだけの通知が円として表示されます。
項目テーブル
id, color, shape, width, height, name, description, image
サンプル列
1, red, circle, narrow, tall, ABC, ABC Descrip, yellowFlag.jpg
2, blue, circle, wide, short, XYZ, XYZ Descrip, redFlag.jpg
通知表
id, email, color, shape, width
サンプル列
1, [email protected], red, 0, 0, 0
2, [email protected], blue, circle, 0
3, [email protected], pink, square, wide
選択はいずれかの選択を選ぶことができます。 私はDBへ(項目テーブルの上の)数2項目を追加した場合、私は通知に一致しているユーザーに通知を送信したい - 例えば、以下を参照してください、彼らは
color = red, shape = 0, width = 0 [0 is n/a, selected red only]
color = 0, shape = square, width= 0 [selected shape only]
color = 0, shape = 0, width= 'narrow' [selected width only]
color = red, shape = square, width= 0 [selected both color and shape but not width]
color = 0, shape = square, width= 'narrow' [selected both shape and width but not color]
color = red, shape = square, width= narrow [selected all 3 options]
color = red, shape = 0, width= narrow [selected color and width but not shape]
私の質問がありを選択することができます表。私は考えることができるの通知表を照会する唯一の方法は、
1. SELECT email FROM notifications WHERE color = 'blue', shape = '0', '0'
2. SELECT email FROM notifications WHERE color = 'blue', shape = 'circle', '0'
3. SELECT email FROM notifications WHERE color = 'blue', shape = 'circle', 'wide'
4. SELECT email FROM notifications WHERE color = '0', shape = '0', 'wide'
5. SELECT email FROM notifications WHERE color = 'blue', shape = 'circle', '0'
6. SELECT email FROM notifications WHERE color = 'blue', shape = 'circle', 'wide'
ようなものです...ので、
にそれは非効率的な方法です。また、現在のオプションの数は3(色、形、幅)ですが、別のオプションをいくつか追加しなければならない場合、すべてが狂ってしまいます(一緒に)。これを達成するには、求人アラートのような多くのアプリケーションがすでに存在するため、これを達成するにはより良い方法が必要です。これらを管理するためのより優れた方法やアイデアを教えてください。私はテーブルなどの構造を変更することに問題がないので、任意のアイデアを歓迎しています。ご不明な点がございましたら、お尋ねください。私はあなたの助けに感謝します。
ありがとうございます。
あらかじめ作成された基準のリストを作成して、ユーザが選択できるようにしましたか? – Kay
あなたの質問をもう一度お読みになり、質問の条件に従うように通知するだけでユーザーを置き換えてください。そして、はい、制限値のリストを持っていて、ユーザーがそれらの1つ以上を選択できるようにします。テストされたものは何もありませんが、あなたの通知システムにしっかりとした/拡張可能なベースを与えるべきです。 –
また、アイテムテーブルによって基準が再利用される可能性があります。これにより、通知プロセスをさらに自動化することさえできます –