2011-12-27 73 views
0

我有一個網站,允許用戶對圖像進行投票。每張圖片都有一個唯一的ID號碼。出於投票限制的目的,我想跟蹤每個用戶喜歡什麼。我將如何在USERS表中設置一行,以保存此特定用戶所喜歡的圖像的所有不同ID號?在一個字段中存儲多個值(用戶喜歡的圖像的ID)

+1

你需要另一個表。這被認爲是一個多值屬性。所以,你可以設置另一個表格,這個表格與用戶有很多聯繫,很可能是用戶的用戶名。然後你將擁有他們投票的圖片ID的屬性。如果這只是一個投票,那麼這就是你所需要的。如果您想查看他們投票的內容,只需在該表格上爲該用戶進行查詢即可列出他們投票的所有圖片。 – Matt 2011-12-27 07:50:41

+0

幾乎所有的馬特說,你需要規範你的數據庫,包括外鍵,谷歌這些關鍵詞,你應該很好的去配偶。 – Philip 2011-12-27 07:53:53

回答

3

您不應該在用戶表中包含所有這些信息。我懷疑你有一張桌子,上面有你的所有圖片,還有你的所有用戶。例如,創建一個名爲「user_image_like」的表。並存儲「user_id」和「image_id」。當用戶按下圖像時,腳本會將「user_id」和「image_id」添加到表格中。

當你不想看到用戶喜歡的所有圖像時,你可以通過簡單的SQL查詢來輕鬆獲取。

+0

廢話。我是個白癡。我在想,唯一的選擇就是爲每個用戶製作一張表,追蹤他們的好惡。我什至沒有想到這樣做,不知道爲什麼。謝謝! – 2011-12-27 07:55:19

+0

呵呵,我知道這種感覺:) – heldt 2011-12-27 07:58:18

0

如果您想將這些信息存儲在一個表格和一個字段中,我可以爲您解答。 CSV格式

  1. 存儲的ID:

    您可以使用的方法。當您獲取這些值時,您可以在處理CSV文件時處理這些值。

  2. 以XML格式存儲ID。然後,您將其作爲任何其他XML文件處理。

問候,

0

這是一個多對多的關係。即一個用戶可以喜歡多個圖像,並且一個圖像可以被多個用戶喜歡。

根據標準化標準,您應該在與user_id和image_id分開的表中使用這些關係。每當像圖像這樣的用戶在該表中添加一行時。

如果您仍想將其存儲在單個表格(用戶)中,然後以CSV格式存儲ID。請務必爲每一行存儲唯一的圖像ID。

檢查本文 http://www.tonymarston.net/php-mysql/many-to-many.html