我想创建一个朋友表,其中我有当前用户的userid,以及当前用户朋友的其他userid。
就像这样:
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
}
但是,我建议使用关系表代替
嗯,我还在学习。你所有的意见都很有帮助。谢谢大家!我会考虑每一个问题,并寻找更多的想法。