簡體   English   中英

PHP MySQL 添加另一行 function

[英]PHP MySQL add another row function

我開始學習PHP;

我的數據庫中有兩個表:

  1. 包含 Brand_ID、Brand_Name 和 Brand_Description 的品牌列表。
  2. 包含 Line_ID、Line_Name 的產品線列表。

我想創建第三個名為 Offered Products 的表,其中包含 Offer_Id、Brand_ID、Line_Name - 我如何使用外鍵管理它?

創建表后,我想創建一個 php 頁面,讓用戶通過

  1. 從下拉列表中選擇品牌
  2. 從下拉列表中選擇線路名稱
  3. 旁邊有一個“添加行”按鈕 - 單擊該按鈕將在第一行下方顯示另一行,以便再次執行第 1 和第 2 行,依此類推
  4. 還存在一個保存按鈕,單擊該按鈕最終會將記錄保存在我的數據庫中。

我該怎么做呢? 請幫忙

創建表。

您的第三個表只需要存儲Line_IDBrand_ID並且(無論出於何種原因)您還需要Offer_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)
);

這假設Lines List表(帶有空格)和Brand List表分別定義了Line_IDBrand_ID作為主鍵。

創建表單。

使用 HTML 和 PHP 設計表格。 從相應的表中填充每個列表。 我不會為此提供代碼; 它應該是直截了當的。

插入表中。

INSERT INTO `Offered Products` (Brand_ID, Line_ID) VALUES (###, ###)

###代表 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將不允許外鍵,但您仍然可以按照演示連接表以實現類似的結果。

如果您確實這樣做,請避免在表名中使用空格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM