現在のユーザーのユーザーIDと現在のユーザーの友達の他のユーザーIDを持つ友達テーブルを作成したいと思います。
このようなもの:
userid friends
456 345; 745; 769;
現在のユーザーが友達を獲得するたびに、このデータを更新[古い値の後に新しい値を挿入]できるようにしたいと思います。
区切り文字とデータの内破/分解に関するトピックを見てきましたが、これを開始する方法を正確に特定できないようです。
何かアイデアはありますか?
現在のユーザーのユーザーIDと現在のユーザーの友達の他のユーザーIDを持つ友達テーブルを作成したいと思います。
このようなもの:
userid friends
456 345; 745; 769;
現在のユーザーが友達を獲得するたびに、このデータを更新[古い値の後に新しい値を挿入]できるようにしたいと思います。
区切り文字とデータの内破/分解に関するトピックを見てきましたが、これを開始する方法を正確に特定できないようです。
何かアイデアはありますか?
アプローチを再検討し、userid/friendsのペアごとに1つのレコードを持つ単純なテーブルを使用します。
userid friends
456 345
456 745
456 769
このようにして、データの選択と保守が簡単になります。
まあ、私はまだ学んでいます。そして皆様のご意見大変参考になります。それぞれを検討し、より多くのアイデアを探します。
既存の構造を維持する必要がある場合。友達を追加するには:
$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
}
ただし、代わりに関係テーブルを使用することをお勧めします