【发布时间】:2021-04-27 11:39:37
【问题描述】:
我正在尝试使用 PHP 和 MYSQL 创建一个可过滤的杂志数据库。
我已经完成了所有工作,但我在位置部分遇到了问题。我想显示一个嵌套选择,用于按位置过滤杂志,如下所示:
我在 MySQL 数据库上有一个 magazine 表,其中有一个 location 列。有时,一本杂志可能有多个位置。我应该为位置创建一个单独的表吗?
如果我想静态显示所有位置(仅使用 HTML),有很多国家没有杂志。我只想显示这些地点至少有一本杂志。
您能否解释一下并就如何实施它提供建议?
【问题讨论】:
-
请先添加一些您尝试的代码。您可以从从数据库中获取
magazines的代码开始,然后您可以开始思考如何在您的页面中呈现它们。 -
@AndréWalker 感谢您的评论。实际上,我的后端有问题。我不知道实现这一目标的最佳方法是什么。每个杂志都有一个位置,有时还有多个位置。我不知道为他们使用单独的表格或静态执行。我可以在杂志表的位置列上放置一串位置,但如果这样做,我必须遍历整个数据库才能知道我拥有哪些国家/地区。
-
对于嵌套位置 - 您需要学习如何在关系数据库中存储分层数据:drib.tech/programming/hierarchical-data-in-relational-databases 当涉及到在不同位置拥有相同杂志的可能性时 - 这是一个单独的问题。我会在位置和杂志之间创建额外的关联/连接/连接表。例如,您有
location表,您有magazine表(从中删除位置),并创建一个新表location_magazine,其中至少可以包含2 列(location.id和magazine.id)。跨度> -
@AndréWalker 非常感谢!