0

我有一个dislikes包含两列的表,idone并且idtwo.

这些是来自用户的唯一 ID,例如:

| idone | idtwo |
-----------------
|   5   |   4   |

这意味着具有 的用户id=5不喜欢具有 的用户id=4。我在 PHP 中拥有的是一个数组,其中包含当前用户选择为不喜欢他们的所有用户的 id。

也就是说dislikes={1,2,3},这意味着当前用户不喜欢用户 1,2 或 3。数据库中有未知数量的用户。

因此,如果用户 1 选择不喜欢用户 2 和用户 3(这是通过 HTML 下拉菜单完成的),我将传递dislike={2,3}给处理此数据的 PHP 页面。

我希望 PHP 页面然后添加条目(1,2)(1,3). 这是第一个问题,如何确保只添加唯一条目?

还说用户 1 改变了他不喜欢用户 2 的事实。然后我传递dislike={3}到 php 页面并且必须以某种方式删除所有条目(1,!3),即用户 1 不喜欢除用户 3 之外的任何人的所有条目。我怎样才能做到这一点?或者,还有更好的方法?

4

1 回答 1

0

由于您使用的是 MySQL,因此最简单的方法可能是在这对列(idone、idtwo)上使用主键或唯一索引来REPLACE INTO代替。INSERT

或者,在更新时,您可以运行执行以下任一操作的事务:

  • 删除此用户的现有行,添加所有行,提交
  • 选择现有行,从本地集中删除要复制的行,仅添加新行,提交
于 2013-09-21T21:48:13.437 回答