更新数据库中的好友列表

时间:2013-06-28 20:13:34

标签: mysql database

我一直使用以下数据库结构存储好友列表:

用户ID |朋友ID

我的问题是我有一个界面,允许他们从朋友列表中添加/删除用户,并且朋友列表应该在点击后保存。

那么我删除该用户ID的所有朋友,然后用保存的朋友列表重新填充数据库是否有意义?听起来有点适得其反,因为如果用户只添加一个用户,则会删除所有朋友并重新添加所有朋友。

1 个答案:

答案 0 :(得分:3)

你可以删除所有然后重新填充,或者你可以存储朋友列表的初始状态,然后在用户编辑后与最终列表进行比较。

我建议您使用此功能array_diff($array1, $array2),执行以下操作:

$initial_list = array (1,2,3,4,5);
$list_after_edit = array (1,2,5,6);

$all_new_items = array_diff($list_after_edit,$initial_list);
foreach ($all_new_items as $item) {
    // Add to database this item
}

$all_deleted_items = array_diff($initial_list,$list_after_edit);
// Execute this query:
$query = 'DELETE FROM table WHERE `User Id` = <some ID> AND `Friend Id` in (' . implode(',',$all_deleted_items) . ')';