0

現在のユーザーのユーザーIDと現在のユーザーの友達の他のユーザーIDを持つ友達テーブルを作成したいと思います。

このようなもの:

userid    friends
456       345; 745; 769;

現在のユーザーが友達を獲得するたびに、このデータを更新[古い値の後に新しい値を挿入]できるようにしたいと思います。

区切り文字とデータの内破/分解に関するトピックを見てきましたが、これを開始する方法を正確に特定できないようです。

何かアイデアはありますか?

4

3 に答える 3

1

アプローチを再検討し、userid/friendsのペアごとに1つのレコードを持つ単純なテーブルを使用します。

userid    friends
456       345
456       745
456       769

このようにして、データの選択と保守が簡単になります。

于 2013-02-27T08:22:00.817 に答える
0

まあ、私はまだ学んでいます。そして皆様のご意見大変参考になります。それぞれを検討し、より多くのアイデアを探します。

于 2013-02-27T08:29:26.867 に答える
0

既存の構造を維持する必要がある場合。友達を追加するには:

  1. フレンドが現在のフレンド リストに存在するかどうかを確認する

$rs['friends']が含まれていると仮定345; 745; 769;し、新しいフレンド ID は 999 です

// remove trailing `;`
$friend_list = substr($rs['friends'], 0, strlen($rs['friends'])-1);
$friends = explode('; ', $friend_list);
if(in_array(999, $friends)) {
  // friend exists
} else {
  $friend_list .= '; 999;';
  // then save back to DB
}

ただし、代わりに関係テーブルを使用することをお勧めします

于 2013-02-27T08:25:37.387 に答える