📜  创建一个下拉列表,其中包含从PHP的 MySQL 数据库获取的选项

📅  最后修改于: 2021-11-07 09:23:52             🧑  作者: Mango

在很多场景中,我们可能需要创建一个下拉输入,可以显示与数据库当前状态一致的所有选项。这种形式的输入在现实生活中被多次使用,以下示例可能有助于理解相同的内容。

  1. 一组拥有唯一注册号的学生。
  2. 一组分支名称及其分支 ID。
  3. 特定产品必须属于的类别列表。

在本文中,我们将创建一个下拉列表,其中包含特定产品必须属于的类别列表。

方法:在这些示例中的每一个中,如果我们使用从数据库中获取数据的下拉菜单,用户将能够更准确地输入数据并且 UI 将更加用户友好。

我们需要以下

  • 一个包含类别表和另一个产品表的数据库,该表具有指向特定产品所属类别 ID 的外键。
  • 接受数据的 HTML 表单。

脚步:

数据库创建:

  • 从 XAMPP 控制面板打开 Apache 和 MySQL。

点击“开始”按钮

  • 通过单击按钮创建一个数据库“example_store”。

单击“新建”按钮创建新数据库

  • 输入数据库名称,然后单击“创建”。

创建一个名为“example_store”的新数据库

  • 单击 SQL 选项卡并粘贴以下代码,然后单击“GO”。

运行 SQL 并准备数据库

MySQL查询:

-- Table structure for table `category`
CREATE TABLE `category` (

 `Category_ID` int(11) NOT NULL,

 `Category_Name` varchar(255) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Dumping data for table `category`
INSERT INTO `category` (`Category_ID`, `Category_Name`) VALUES

(1, 'Category A '),

(2, 'Category B');

-- Table structure for table `product`
CREATE TABLE `product` (

 `Product_ID` int(11) NOT NULL,

 `product_name` varchar(255) NOT NULL,

 `category_id` int(11) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Dumping data for table `product`
INSERT INTO `product` (`Product_ID`, `product_name`, `category_id`) VALUES

(1, 'Product A1', 1),

(2, 'Product A2', 1),

(3, 'Product B1', 2);


-- Primary Key Constraints
ALTER TABLE `category`

 ADD PRIMARY KEY (`Category_ID`);

ALTER TABLE `product`

 ADD PRIMARY KEY (`Product_ID`),

 ADD KEY `Category_constraint` (`category_id`);
 
 
 
-- AUTO_INCREMENT for table `category`
ALTER TABLE `category`

 MODIFY `Category_ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

-- AUTO_INCREMENT for table `product`

ALTER TABLE `product`

 MODIFY `Product_ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

-- Foreign Key Constraints

ALTER TABLE `product`

 ADD CONSTRAINT `Category_constraint` FOREIGN KEY (`category_id`) 
 REFERENCES `category` (`Category_ID`) ON DELETE 
 CASCADE ON UPDATE CASCADE;

示例:我们在htdocs 中名为“example_store”的文件夹中创建一个PHP文件,并创建以下表单。 PHP网页,可以在浏览器中访问“localhost/example_store/form.php”。 PHP”。

PHP
alert("Product added successfully")';
        }
    }
?>
   
   



    
    
        


    
                 
                          
             
    


输出:

  • 下拉列表当前仅显示类别 A 和类别 B。如果我们在数据库中添加更多类别,我们会将它们显示在下拉列表中。在表类别中插入更多值后。

关于插入C类和D类

  • 在重新加载网页时

重新加载网页

  • 插入新产品:我们可以通过以下方式插入产品 C1。

插入新产品

  • 我们收到一条警报消息,并且表产品已更新

提交表格后