1
我一直在使用以下數據庫結構存儲好友列表:更新我的數據庫中的朋友列表
用戶ID |朋友Id
我的問題是,我有一個接口,可以讓他們從朋友列表中添加/刪除用戶,並且朋友列表在點擊時應該保存。
因此,我刪除該用戶ID的所有朋友,然後用保存的朋友列表重新填充數據庫是否有意義?聽起來有點反作用,因爲如果用戶只增加一個用戶,它會刪除所有朋友並重新添加。
我一直在使用以下數據庫結構存儲好友列表:更新我的數據庫中的朋友列表
用戶ID |朋友Id
我的問題是,我有一個接口,可以讓他們從朋友列表中添加/刪除用戶,並且朋友列表在點擊時應該保存。
因此,我刪除該用戶ID的所有朋友,然後用保存的朋友列表重新填充數據庫是否有意義?聽起來有點反作用,因爲如果用戶只增加一個用戶,它會刪除所有朋友並重新添加。
您可以刪除全部,然後重新填充或者您可以存儲朋友列表的初始狀態,然後在用戶編輯後與最終列表進行比較。
我建議你使用這個功能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) . ')';
你爲什麼不只是插入或在需要時刪除表中的行? – Shomz