1

私は、ブログの投稿とユーザーの更新を好きにできる Web サイトを作成し ているので、投稿/ブログ ID を渡すユーザーの好きなものごとに挿入ステートメントを使用するか、配列を使用してユーザーの好きなものを単一のコンマ区切りの配列に保存する必要があります

このような:

投稿 1 SQL の例:

-------------------------------------------
Likes(user_id)         postid          
-------------------------------------------
user1                  post1
user2                  post1

または配列

-------------------------------------------
postid              likes         
-------------------------------------------
post1               user1, user2, user3

さらに、Facebookが壁にランダムに投稿を表示する方法、つまり、更新をテーブルに保存し、それらの更新を使用してループすると、更新が順番に取得されます。その間にアップロードされた写真を追加したり、別の人を友達として追加したりする方法などなど、つまり、ニュースフィードを表示し、元の投稿にリンクしていますか

4

1 に答える 1

0

個人のいいねを取り戻したり、嫌いなものを探したり、ユーザーがいいねを検索したり、ユーザーの友達がいいねを検索したりすることを気にかけたことはありますか?その場合は、ユーザー投稿ごとに1つのレコードを保存し、コンマ区切りのリスト/配列を使用しないでください。リスト/配列は非常に迅速かつ正直に管理できなくなりますが、リレーショナルデータベースが得意とするものではありません。

画面にコンマ区切りのリストを表示する必要がある場合は、を使用GROUP_CONCATして表示用の文字列を取得できます。


2番目の質問に関しては、ユーザーがよくクリックするものに基づいて、友人からの「好きなもの」をユーザーに示すために、ある種の「複雑なアルゴリズム」が行われていると確信しています。その後は、おそらくすべての種類の「壁アイテム」を新しいものから順にランダムに散らばっています。ここで、「壁アイテム」はタイプ(更新、ニュース、ビデオ、画像、チェックイン、アプリ)にすることができます。アクセス)。さらに、注文は間違いなく投稿時間ではなく、最後に触れられたものでもないため、注文に何か他のことが起こっているのではないかと思います。

また、さまざまな種類の投稿の重み付けを選択できるユーザー設定(たとえば、10倍の更新、3倍のニュース、5倍のビデオ、5倍の画像、1倍のチェックイン、1倍のアプリアクセス)が「ランダム性」を変更したときのことも覚えています。 「もう一方の端から出てくるものの。この場合、単純に、それは1d25であり、1-10 =>更新、11-13 =>ニュース、14-19=​​>ビデオなどにマップされます。

于 2012-09-05T17:19:28.617 に答える