php - 多对多关系。如何连接表格?

标签 php mysql database phpmyadmin many-to-many

我有一个关于多对多关系的问题。我目前有三个表:

  • 电影
  • 类型
  • 电影类型

在“电影”表中我有列:

  • id_movie
  • 标题(例如:X战警)
  • rel_year(发布日期)
  • img_src(显示保存在服务器上的图像。这也是在使用 php 链接到页面的网站上显示的内容)
  • page_link(链接到页面...)

在“流派”表中,我有以下列:

  • id_genre
  • 名称( Action 、冒险等...共有 14 种类型)

在 'movie_genre' 表中我有列:

  • id_movie_genre
  • id_movie
  • id_genre

我希望能够连接这些数据库,以便我可以根据页面按类型对我网站上的数据进行排序。例如,如果我想查看“ Action ”下的每部电影,我只想显示那些保存在数据库中的具有该 ID 的电影。

如何连接我的数据以匹配我的示例?欢迎任何帮助或建议,我对 mySQL 和 php 还是很陌生。

最佳答案

使用连接(一个 SQL 概念)。您应该很快就熟悉联接。

SELECT
    *
FROM
    movie
    NATURAL JOIN movie_genres
    NATURAL JOIN genre
WHERE
    genre.name = 'Action'

编辑:在一部电影和三种流派之间插入关系:

INSERT INTO movie_genre
    (movie_id, genre_id)
VALUES
    (1, 1),
    (1, 2),
    (1, 3),

关于php - 多对多关系。如何连接表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14804947/

相关文章:

database - 当环大小改变时迁移 Riak 数据

php - Docker 容器中的 SSH 导致 HTTP 404

php - 使用云/远程浏览器而不是本地主机 :4444/wd 的 Selenium webdriver 测试

php - 可视化 SQL 数据库的动态数据

php - 将行的 MySQL 字段提取到 PHP 变量和数组中

sql - 为什么这个更新查询不起作用?

PHPDoc 可选参数

php - opencart安装问题

php - 根据用户登录 session 在另一个表中输入user_id的值

Java - Web 应用程序,其中相同的数据库字段由许多用户同时编辑