MySQL で、ソート列によるソート中にデータの時間変化を考慮しながら次のデータ行を取得するにはどうすればよいでしょうか?
P粉420958692
P粉420958692 2023-09-07 14:37:40
0
1
476

わかりました、私の質問は少し具体的で説明するのが難しいです。そこで、単純化してみます。

Web サイトからの「プロンプト」を表示する MySQL テーブルがあります。プロンプトは、「順序」列の整数によってソートされます。したがって、テーブルは次のようになります: id (増加する int)、プロンプト (varchar)、順序 (int)。

最初のプロンプトがユーザーに表示されると、ユーザーが確認するまでそのプロンプトが表示され、その後、次のプロンプトが表示されます。

ユーザーが最後に確認したプロンプトに基づいて次のプロンプトを取得するクエリを思いつきました:

リーリー

このクエリは非常に便利です。ただし、新しいプロンプトを追加する必要がある場合があります。通常は最後のプロンプトではなく、途中のどこかに追加します。たとえば、ユーザーには順序 #6 の最後のプロンプトが表示されましたが、位置 #3 に新しいプロンプトを追加しました。この新しいプロンプトは、このユーザーがプロンプト #6 をすでに見たことが保存されているため、このユーザーには表示されません。

この問題を管理する方法はありますか?おそらく必要な MySQL クエリは 1 つか 2 つだけでしょうか?

ヘルプやヒントをいただきありがとうございます。

編集:各ユーザーには、独自の「見たステータス」があります。それを PHP の $_SESSION['last_seen_item_order'] に保存するだけです。

P粉420958692
P粉420958692

全員に返信 (1)
P粉798343415

このロジックでは管理できません。

このためには、追加の列を維持する必要があります -seenユーザーがすでにhintsを閲覧している場合は、それを1に設定できます。 したがって、クエリは -

になります。 リーリー

- これをお勧めします。他にもたくさんのアイデアがあります。

######編集### - ユーザーごとにプロンプトを維持したい場合は、

seenを維持するための 2 つのオプションがあります。ユーザーに表示されるプロンプトを

json
    形式で維持します。
  1. user_hints_see
  2. という名前の別のテーブルを作成します。このテーブルには、
  3. id(増分)、user_idhint_idseen# が含まれます。 ##カラム。
いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!