1

これを行うプラグインはありますか?そうでない場合、理論的には、この種の情報を追跡するmysqlデータベースを作成できますか?

たとえば、ユーザー名を主キーとするテーブルpost_viewsがあり、ユーザーが来るたびに、そのテーブルに投稿IDを持つ列の値が存在するかどうかを確認するとします。

含まれている場合は、何かを実行します...そうでない場合は、列を作成し、1などの値を割り当てます。

このようなことは実現可能でしょうか?申し訳ありませんが、私はmysqlnoobです。

ありがとう!

4

1 に答える 1

2

ええ、それは実行可能です、はい。

あなたは出来る:

  1. 誰もがWPで行うように、巨大なリポジトリでプラグインを検索してインストールします。必要に応じて正確に機能するものがある可能性があります。
  2. ログインしているユーザーの場合:関係テーブルを作成します。たとえば、users_posts

         id | user_id | post_id
    

    そして、各投稿ビューで、このテーブルにユーザーIDと投稿IDを挿入します(必要に応じて、投稿が読み取られた日付などの他の情報を追加できます)。このテーブルへのクエリは、ユーザーが開いたすべてのページを示します。逆に、そのユーザーがページを表示したかどうかを確認することもできます。あなたが言ったことから、これはあなたが考えていたものよりも実行可能なテーブルスキーマです。

  3. ログに記録されていないユーザーの場合:ユーザーIDを自由に使用できなくても、Cookieを使用できます。Cookieにユーザー情報(IP、UserAgentなど)と投稿IDを書き込みます。Cookieがクリアされない(または期限切れになる)限り、ユーザーが何を見たかどうかを知ることができます。甘さを増すために:ユーザーがログインするとすぐに、このCookieベースの情報をポイント2)のメソッドに変換できます。

    考え直してみると、Cookieは必要ありません。ここでもデータベースを使用できますが、テーブルにはユーザーIDではなく他の情報が保存されます(同じテーブルに列を追加したり、新しいテーブルを使用することもできます)ログに記録されていないユーザー。後者を選択します)

    ただし、IP、ユーザーエージェント、およびその他の情報は信頼性が低く、問題を引き起こす可能性があることに注意してください。最初の情報はさまざまなユーザーによって共有され、2番目の情報は簡単になりすまされる可能性があります。最善の行動は、このポイント3)を無視し、常にログインしているユーザーのみを追跡することです。そうすれば、問題が発生することはありません。

于 2012-07-10T05:34:54.083 に答える