我想创建一个朋友表,其中包含当前用户的用户 ID,以及当前用户朋友的其他用户 ID。
有点像这样:
userid friends
456 345; 745; 769;
我希望能够在当前用户每次获得朋友时更新[在旧值之后插入新值]此数据。
我已经看到有关分隔符和内爆/爆炸数据的主题,但我似乎无法确定如何开始。
任何想法,有人吗?
我想创建一个朋友表,其中包含当前用户的用户 ID,以及当前用户朋友的其他用户 ID。
有点像这样:
userid friends
456 345; 745; 769;
我希望能够在当前用户每次获得朋友时更新[在旧值之后插入新值]此数据。
我已经看到有关分隔符和内爆/爆炸数据的主题,但我似乎无法确定如何开始。
任何想法,有人吗?
重新考虑您的方法并使用一个简单的表,其中每个用户 ID/朋友对都有一条记录。
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
}
但是,我建议改用关系表
嗯,我还在学习。您的所有意见都非常有帮助。谢谢大家!我会考虑每一个,并寻求更多的想法。