2014-01-15 5 views
0

Я довольно новичок в PHP и MySQL. Я не уверен, что знаю достаточно, чтобы правильно сформулировать свой вопрос. Медведь со мной ... Я хочу связать информацию в двух таблицах вместе. И я не совсем уверен, как это сделать. Вот пример.Связанная информация из двух таблиц MySQL

Скажем, у меня есть 1 таблица под названием пользователей, имеет следующую информацию о пользователе:

  • ID
  • имя пользователя
  • пароль
  • favorite_movies
  • В таблице 2, у меня есть сведения о фильмах

  • ид
  • название
  • год
  • Скажите, что я хочу создать веб-приложение, в котором пользователь может добавлять/удалять фильмы в своих «избранных». Пользователь должен иметь возможность использовать любое количество любимых фильмов, связанных с их учетной записью.

    Вопросы ...

  • Как хранить информацию в поле "favorite_movies"?
  • Я рассмотрел информацию о хранении в favorite_movies от json_encode ($ array) и json_decode ($ array) до истории массива идентификаторов фильмов в профиле. Есть ли лучший способ сохранить ссылку на фильм, который существует в базе данных фильмов?

  • Какой запрос mysql я запускаю в базе данных, чтобы получить список всех пользователей, которые любят фильм определенного названия?
  • Какой запрос mysql я запускаю в базе данных, чтобы получить список всех фильмов, которые нравится пользователю?
  • Учитывая мое решение json_encode/decode, это кажется сложным для меня. У меня есть массив значений ... как применить этот массив к запросу?

  • Я подозреваю, что есть имя базы данных, которое я описываю здесь. Что это значит, я могу продолжить исследование?
  • Большое спасибо.

    ответ

    1

    Вы не хотите хранить «любимые фильмы» в поле. Вы хотите отдельную таблицу, user_movies с полями, как:

    • user_movie_id
    • user_id
    • movie_id

    Это таблица ассоциации.

    Если вы хотите, список фильмов, как ид, то вы делаете что-то вроде:

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

    +1, если вы храните данные, как Гордон предложил, вы можете делать классные запросы, чтобы показать вещи, как 59 из 61 которые подали предпочтение определенному фильму, также отдали предпочтение некоторым другим определенным фильмам в качестве предложения для пользователей. –

    Смежные вопросы