php - 有了我的第一个项目想法,我走在正确的轨道上吗?

标签 php mysql project

我今年 14 岁,正在自学 PHP。我要为我爸爸的割草机维修店建立一个零件数据库。

每台割草机都有“OEM”编号,但 OEM 零件价格昂贵。我爸爸有制造与这些 OEM 零件兼容的零件的供应商,在目录的后面有目录零件号的 OEM 图表

我希望能够在搜索字段中输入 OEM 编号,然后显示每个兼容的目录零件编号及其来自的目录...我希望这是清楚的。

现在我已经从目录中提取数据并有 6 个这样的数据库表

id    |    oem     |     partnumber
------+------------+----------------------
      |            |

表名就是目录名。

我有一点编码经验(玩过一段时间的 arduinos 和 raspberry pi)所以我有一点知识,但从未对数据库做过任何事情。我也知道 html 和 css,以及一点点 javascript。

我将这些视为步骤:

  1. 从搜索字段中获取 OEM 编号。
  2. 在每个表格中搜索 OEM
  3. 如果匹配则返回零件号和目录
  4. 如果没有匹配显示'nothing found'

我有点明白了,但是我完全迷失了用一个查询搜索许多表....我不能用“一个”查询来做,因为我需要目录名(表名)也会被退回...简单的选择是制作一张 table ,但我想在将来更新它,这会变得非常困难。

我想我必须将表名设置为一个数组并遍历运行查询的数组,但我无法理解我将如何做到这一点???

你具体会怎么做?

我做错了吗?

我想我可以做很多查询,但我总是被告知重复代码通常意味着你做错了,所以我不想那样做。我要好好学习...

非常感谢

最佳答案

您走在正确的轨道上。你可能想在数据库世界中做一个叫做规范化的事情。这基本上意味着如果您有很多引用的东西,即 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'

关于php - 有了我的第一个项目想法,我走在正确的轨道上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24438418/

相关文章:

android - 在 Windows 中复制一个用于 Eclipse 的 Android 项目

go - 所有 Go 项目都需要在 GOPATH 下运行吗?

Gradle 项目,子项目重复执行

javascript - 从 javascript 字典插入到 mysql 并使用 php 空值

php - 下拉列表和搜索字段 php

mysql - 在 MariaDB/MySQL 中无锁地删除?`(InnoDB)

mysql - 运行 cron 作业以在 docker mysql 容器中导入许多 csv 文件

javascript - ajax post成功后如何提交表单?

php - 使用 PHP 执行 C 脚本

mysql - 消除更新查询中的mysql文件排序