在一个字段中存储多个值(用户喜欢的图像ID)

时间:2011-12-27 07:48:01

标签: php mysql

我有一个网站,允许用户对图像进行投票。每个图像都有一个唯一的ID号。出于限制投票的目的,我想跟踪每个用户喜欢的内容。我如何在USERS表中设置一行,其中包含此特定用户所喜欢的图像的所有不同ID号?

3 个答案:

答案 0 :(得分:3)

您的用户表中不应包含所有这些信息。我认为你有一张桌子上有你的所有图片,一张桌子上有你的所有用户。例如,创建一个名为“user_image_like”的表。并存储“user_id”和“image_id”。当用户按下图像时,您的脚本会将“user_id”和“image_id”添加到表中。

如果您不想看到用户喜欢的所有图像,您可以通过简单的SQL查询轻松获得此图像。

答案 1 :(得分:0)

如果您想将这些信息存储在一个表格和一个字段中,我会给您答案。

您可以使用以下两种方式:

  1. 以CSV格式存储ID。当您获取这些值时,您可以在处理CSV文件时处理它们。
  2. 以XML格式存储ID。然后,您将其作为任何其他XML文件处理。
  3. 此致

答案 2 :(得分:0)

这是一个多对多的关系。即一个用户可以喜欢多个图像,多个用户可以喜欢一个图像。

根据规范化标准,您应该在user_id和image_id的单独表中使用这些关系。每当像图像这样的用户向该表添加一行时。

如果您仍想将其存储在单个表(用户)中,则以CSV格式存储ID。请确保每行只存储唯一的图像ID。

查看这篇文章 http://www.tonymarston.net/php-mysql/many-to-many.html