我知道这可能超出了本课的范围,但我真的需要帮助。我的网站上有一个表单供用户填写,数据库保存到MySQL数据库表中。但是,当用户从表单中的“选择”字段中选择多个选项时,我希望能够选择多行。请帮助我。我在这里死了。
<h3>Create Order</h3>
<form action="" method="post">
<p>Product: <input type="text" name="product_id" value=""><p>
<p>Quantity: <input type="text" name="quantity" value=""></p>
<p>Category: <select name="category" multiple>
<option value="1">Business Card</option>
<option value="2">Flyer</option>
<option value="3">Brochure</option>
</select></p>
</form>
Insert into `orders` (product_id, quantity, category_id) Value (product_id, quantity, category_id)
如果用户选择多个类别,我希望将订单保存为单个订单。我希望这能更好地解释。
答案 0 :(得分:0)
这不是一个完整的解决方案,只是一些提示可以帮助您实现 任务
您需要一些处理用户输入并将其存储在数据库中的代码,因为您有一个空表单操作(action=""
),相同的脚本将用作表单提交的目标,因此您如果帖子字段中存在一些数据,则需要一些评估为true的条件(因为您的表单提交类型是帖子method="post"
)
您的脚本中应该包含以下代码段:
<?php
if(isset($_POST['product_id'])) {
$product_id = $_POST['product_id'];
$quantity = $_POST['quantity'];
$categories = $_POST['category'];
// note that $category is an array because the attribute 'multiple' is used
// you can loop through all selected categories and construct your query
foreach($categories as $category) {
// construct your query here
}
}
?>
<h3>Create Order</h3>
<form action="" method="post">
...
答案 1 :(得分:0)
谢谢@Abdo,我让它与之合作。
<?php
if(isset($_POST['product_id'])) {
$product_id = $_POST['product_id'];
$quantity = $_POST['quantity'];
$category = $_POST['category'];
// note that $category is an array because the attribute 'multiple' is used
// you can loop through all selected categories and construct your query
for ($i=0; $i<sizeof($category);$i++) {
// construct your query here
}
}
?>
<h3>Create Order</h3>
<form action="" method="post">