php - 基本 mysql/数据存储问题 : information architecture, 代码本身不多

标签 php mysql wordpress

我正试图弄清楚我的第一个“更复杂”的 SQL 应用程序,但在概念化处理简单问题的最佳方法时遇到了一些困难。我理解代码,我想,围绕各种概念,但想知道你认为最好的方式是继续的方式,更重要的是什么术语/如何调用这个方法,所以我可以做更多自己研究它,不要不必要地打扰别人!

我正在构建一个 WP 插件,它可以让某人将任意数量的盒子添加到任意数量的“交易”中。基本上,交易 1 可以有盒子 3 盒子,分别称为苹果、水果、器官。交易 2 可以有 10 个盒子。等等。我想要一种以最佳方式向最终用户展示它的方法。作为一个初学者,我的(不好的,我敢肯定)直觉是有一个键叫做,比方说,交易,这是一个逗号分隔的列表“1,2,3,4,5”。然后,有另一个表,其中索引为 1、2、3,对于这些键中的每一个,我都有不同的框。我从数据库中获取第一个 CSV 列表,将其“分解”为一个数组并循环,从第二个表中获取反射(reflect)此 # 的键。但是在第二个表中,每个“键”是否都指向其他键?这就是我感到困惑的地方。这是最好的方法吗?我需要寻找什么样的代码? 编辑:这是我正在寻找的视觉图像:

Transaction 1: #12878321: Apples, Oranges, Pears
Transaction 2: #11239089: Berries, Oranges, Apples
Transaction 3: #89792834: Spaghetti, Berries, Oranges, Pears, Apples

我想在页面上显示这样的信息。因此,我需要将交易编号、随机代码和“购买的商品”(上面示例中的框)全部存储给最终用户。

我已经在一个表上完成了插入、更新等操作,但从未连接(正确的词?)两个表,并且不知道这是否是创建另一个 WP 表的方法。

如果这是一个奇怪且冗长的问题,我深表歉意,但是在网络上的 1,000 个教程中,很难理解应该遵循哪个教程,因为我不熟悉这些术语本身!

最佳答案

你想要的是(我认为)所谓的“多对多”关系。这些通常最好由关联表处理;关联表只有两个(相关的)列;一个表中记录的 ID,以及第二个表中记录的 ID。这样,您可以创建一个 SQL 语句,为您找到给定“交易”(表 1 中的记录)存在的所有“框”(表 2 中的记录);您还可以创建一个查询,以查找所有引用表 2 中给定“框”记录的“交易”(表 1 中的记录)。

为此,您需要三个表:

Transactions
ID,   Whatever else you keep for transactions

Boxes
ID,   Contents

TransactionBoxes
TransactionID,   BoxID

关于php - 基本 mysql/数据存储问题 : information architecture, 代码本身不多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6540592/

相关文章:

php - Wordpress get_template_directory_uri() 和 bloginfo ('template_directory' ) 使用 HTTPS 返回不同的结果

php - eregi_replace ("[\]",'' ,$data) -- 这一行是做什么的?

jquery - 如何在新闻源中加载更多帖子而不加载之前加载的帖子?

php - 检查多个字符串是否为空

javascript - 动态加载网页的元素列表

php - mySQL 主键异常

jquery - 限制共享栏在 div id 或类之后 float

javascript - Wordpress *get_current_user_id* 在远程服务器上返回 0,但在本地服务器上不返回

php - 找不到 PDO 驱动程序(PhpStorm 和 SQLite)

php - Yii2 Controller 中的下拉列表值