わかりました、私の質問は少し具体的で説明するのが難しいです。そこで、単純化してみます。
Web サイトからの「プロンプト」を表示する MySQL テーブルがあります。プロンプトは、「順序」列の整数によってソートされます。したがって、テーブルは次のようになります: id (増加する int)、プロンプト (varchar)、順序 (int)。
最初のプロンプトがユーザーに表示されると、ユーザーが確認するまでそのプロンプトが表示され、その後、次のプロンプトが表示されます。
ユーザーが最後に確認したプロンプトに基づいて次のプロンプトを取得するクエリを思いつきました:
リーリーこのクエリは非常に便利です。ただし、新しいプロンプトを追加する必要がある場合があります。通常は最後のプロンプトではなく、途中のどこかに追加します。たとえば、ユーザーには順序 #6 の最後のプロンプトが表示されましたが、位置 #3 に新しいプロンプトを追加しました。この新しいプロンプトは、このユーザーがプロンプト #6 をすでに見たことが保存されているため、このユーザーには表示されません。
この問題を管理する方法はありますか?おそらく必要な MySQL クエリは 1 つか 2 つだけでしょうか?
ヘルプやヒントをいただきありがとうございます。
編集: 各ユーザーには、独自の「見たステータス」があります。それを PHP の $_SESSION['last_seen_item_order'] に保存するだけです。
P粉7983434152023-09-08 10:34:15
このロジックでは管理できません。
このためには、追加の列を維持する必要があります - seen
ユーザーがすでに hints
を閲覧している場合は、それを 1
に設定できます。
したがって、クエリは -
注 - これをお勧めします。他にもたくさんのアイデアがあります。
######編集### - ユーザーごとにプロンプトを維持したい場合は、seen を維持するための 2 つのオプションがあります。
ユーザーに表示されるプロンプトを
user_hints_see (増分)、
user_id、
hint_id、
seen# が含まれます。 ##カラム。