我14岁,我正在自学PHP。我打算为爸爸割草机修理店建一个零件数据库。
每个割草机都有OEM'数字,但OEM零件价格昂贵。我父亲有供应商制造与这些OEM零件兼容的零件,在目录的背面有OEM图表到目录零件编号
我希望能够将OEM编号输入搜索字段,然后显示每个兼容的目录编号以及来自哪个目录...我希望这很清楚。
现在我已经从目录中提取了数据,并且有6个这样的数据库表
id | oem | partnumber
------+------------+----------------------
| |
表名是目录名。
我有一点编码经验(与arduinos和raspberry pi一起玩了一段时间)所以我有一点知识,但从未对数据库做过任何事情。我也知道html和css,还有一点点javascript。
我将这些视为以下步骤:
我有点喜欢它,但我完全迷失了用1个查询搜索许多表格....我无法用一个'一个'查询,因为我还需要返回目录名称(表名)...简单的选项是制作1个表,但我想在将来更新它,这将使它变得非常困难。
我想我必须将表名设置为一个数组并循环遍历运行查询的数组,但我无法理解我将如何做到这一点???
你究竟会怎么做?
我做错了吗?
我想我可以做很多查询,但我总是被告知重复代码通常意味着你做错了,所以我不想这样做。我想要正确学习......
非常感谢答案 0 :(得分:0)
你走在正确的轨道上。您可能希望在数据库世界中执行称为规范化的操作。它基本上意味着如果你有一些引用很多的东西,例如OEM,目录等,你可以把它拉到一个单独的表中,然后你可以引用它的id而不是值,从而避免重复。
SQL是为这种查询而构建的(如果你感兴趣的话,你应该看看有助于理解sql的基于集合的逻辑和维恩图。)
所以你可能有一个看起来像这样的查询
SELECT
p.PartNumber,
p.Price,
c.Name
FROM
Parts p
INNER JOIN
OEM oem
ON
p.OEMId = oem.id
INNER JOIN
Catalog c
ON
c.Id = oem.CatalogId
WHERE
oem.slug = 'OEM123ABC'
答案 1 :(得分:0)
你做错了。将目录名称放在表格中,如果它是全部的话。然后你可以做一个SQL查询,如:
SELECT part_number FROM table_name WHERE catalog='catalog_name' AND oem='search_term';
确保设置适当的索引。