Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MySQL添加另一个行函数_Php_Mysql_Foreign Keys - Fatal编程技术网

PHP MySQL添加另一个行函数

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 等等 还存在一个保存按钮,单

我开始学习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
    。外键应该引用主键。看见