2014-01-15 33 views
0

我對PHP和MySQL相當陌生。我不確定我是否足夠了解甚至說出我的問題。忍受着我......我想將兩個表格中的信息聯繫在一起。我不確定如何做到這一點。這是一個相關的例子。來自兩個MySQL表的相關信息

說我有具有以下用戶信息1個表稱爲用戶:

  • ID
  • 用戶名
  • 密碼
  • favorite_movies
  • 在表2中,我對電影

  • ID細節
  • 標題
  • 說我想創建一個Web應用程序,用戶可以在其中添加/刪除電影到他們的「收藏夾」。用戶應該能夠訪問與他們的賬戶相關聯的任意數量的喜愛的電影。

    問題...

  • 我應該如何將信息存儲在「favorite_movies」字段中?
  • 我已經考慮通過json_encode($ array)和json_decode($ array)將favorite_movies中的信息存儲到配置文件中的電影ID數組中。有沒有更好的方法來存儲電影數據庫中存在的電影的引用?

  • 我在數據庫上運行了哪些mysql查詢以獲取所有喜歡某個給定標題的電影的用戶列表?
  • 我在數據庫上運行了哪些mysql查詢以獲取用戶喜歡的所有電影列表?
  • 鑑於我的json_encode/decode解決方案,這對我來說似乎是一個棘手的問題。我有一個值的數組...我如何將該數組應用於查詢?

  • 我懷疑這裏有一個數據庫式的名字。這是什麼,我可以進一步研究它?
  • 非常感謝。

    回答

    1

    你不想在一個字段中存儲「最喜歡的電影」。你想有一個單獨的表,user_movies與像場:

    • user_movie_id
    • USER_ID
    • movie_id

    這是一個關聯表。

    如果你想電影,ID列表,那麼你就這樣做:

    select um.user_id, group_concat(um.movie_id) 
    from user_movies um 
    group by um.user_id; 
    
    +0

    +1,如果您存儲數據,如戈登建議,你可以做很酷的查詢顯示的東西就像59個61誰喜歡某部電影也喜歡其他某些電影作爲對用戶kind'a事情的建議。 –

    相關問題