PHP MySQL添加另一个行函数
我开始学习PHP 我的数据库中有两个表:PHP MySQL添加另一个行函数,php,mysql,foreign-keys,Php,Mysql,Foreign Keys,我开始学习PHP 我的数据库中有两个表: 包含品牌标识、品牌名称和名称的品牌列表 品牌描述 包含产品线ID、产品线名称的产品线列表 我想创建第三个名为provided Products的表,其中包含Offer\u Id、Brand\u Id、Line\u Name-我如何使用外键管理它 创建表之后,我想创建一个php页面,让用户通过 从下拉列表中选择品牌 从下拉列表中选择行名称 在它旁边有一个按钮“添加行”-点击时会显示 在第一行下面的另一行,以便再次执行数字1和2 等等 还存在一个保存按钮,单
Line\u ID
和Brand\u ID
,并且(出于任何原因)您还需要提供\u ID
CREATE TABLE `Offered Products` (
/* define columns */
Offer_ID INT NOT NULL AUTO_INCREMENT,
Brand_ID INT NOT NULL,
Line_ID INT NOT NULL,
/* define primary key */
PRIMARY KEY (Offer_ID)
/* define foreign keys */
FOREIGN KEY Brand_ID (Brand_ID)
REFERENCES `Brands List` (Brand_ID)
FOREIGN KEY Line_ID (Line_ID)
REFERENCES `Lines List` (Line_ID)
);
这假设行列表
表(带空格)和品牌列表
表分别将行ID
和品牌ID
定义为主键
创建表单。
使用HTML和PHP设计表单。从相应的表中填充每个列表。我不会为此提供代码;应该是直截了当的
插入表格。
####
表示HTML表单中的ID号
加入表格。
要从所有表中获取信息,您可以按如下方式加入
SELECT * FROM `Offered Products` as op
JOIN `Brand List` as bl ON bl.Brand_ID = op.Brand_ID
JOIN `Line List` as ll on ll.Line_ID = op.Line_ID
其他注释。
要在MySQL中使用外键,您需要使用InnoDB
引擎。使用myisam
将不允许使用外键,但您仍然可以按照演示的方式加入表,以获得类似的结果
如果确实这样做了,请避免在表名中使用空格 创建表。
您的第三个表只需要存储Line\u ID
和Brand\u ID
,并且(出于任何原因)您还需要提供\u ID
CREATE TABLE `Offered Products` (
/* define columns */
Offer_ID INT NOT NULL AUTO_INCREMENT,
Brand_ID INT NOT NULL,
Line_ID INT NOT NULL,
/* define primary key */
PRIMARY KEY (Offer_ID)
/* define foreign keys */
FOREIGN KEY Brand_ID (Brand_ID)
REFERENCES `Brands List` (Brand_ID)
FOREIGN KEY Line_ID (Line_ID)
REFERENCES `Lines List` (Line_ID)
);
这假设行列表
表(带空格)和品牌列表
表分别将行ID
和品牌ID
定义为主键
创建表单。
使用HTML和PHP设计表单。从相应的表中填充每个列表。我不会为此提供代码;应该是直截了当的
插入表格。
####
表示HTML表单中的ID号
加入表格。
要从所有表中获取信息,您可以按如下方式加入
SELECT * FROM `Offered Products` as op
JOIN `Brand List` as bl ON bl.Brand_ID = op.Brand_ID
JOIN `Line List` as ll on ll.Line_ID = op.Line_ID
其他注释。
要在MySQL中使用外键,您需要使用InnoDB
引擎。使用myisam
将不允许使用外键,但您仍然可以按照演示的方式加入表,以获得类似的结果
如果确实这样做了,请避免在表名中使用空格 一次只问一个问题。你确实问了几个问题(对应于你的每个步骤),每个问题都应该有自己的问题和具体的答案,假设你已经尝试解决问题并需要帮助。您需要一些PHP代码来创建初始表单,选择品牌和列表来填充选择框。您需要一些JavaScript来使这个“添加行”按钮工作,从而操纵页面客户端的DOM。然后,您需要更多的PHP代码来处理此表单及其任意数量的字段,并在数据库中创建相应的行。您将在第三个表中存储
Line\u ID
引用,而不是Line\u Name
。外键应该引用主键。请参见一次只问一个问题。你确实问了几个问题(对应于你的每个步骤),每个问题都应该有自己的问题和具体的答案,假设你已经尝试解决问题并需要帮助。您需要一些PHP代码来创建初始表单,选择品牌和列表来填充选择框。您需要一些JavaScript来使这个“添加行”按钮工作,从而操纵页面客户端的DOM。然后,您需要更多的PHP代码来处理此表单及其任意数量的字段,并在数据库中创建相应的行。您将在第三个表中存储Line\u ID
引用,而不是Line\u Name
。外键应该引用主键。看见