gpt4 book ai didi

javascript - 如何从两个下拉菜单之一中选择插入到数据库的同一列

转载 作者:行者123 更新时间:2023-11-30 23:01:31 26 4
gpt4 key购买 nike

我创建了一个类别下拉菜单和子类别下拉菜单。子类别下拉菜单取决于类别下拉菜单。如果用户在类别菜单中选择服装,则子类别显示衬衫、裤子和帽子。如果用户在类别菜单中选择配饰,则子类别显示鞋子、戒指和手镯。

我已经创建了 mysql 查询,但问题是如果我选择服装和衬衫,则不会插入子类别,因为查询运行的是配饰的子类别。如果我选​​择配饰和子类别,就不会有问题。

如何解决这个问题,以便将服装的子类别插入到数据库中?

html

<div class="container">
<div class="Clothing">
<tr>
<td align="right">Subcategory</td>
<td>
<select name="subcategory[]" id="subcategory[]">
<option value="">-Select-</option>
<option value="Hats">Hats</option>
<option value="Pants">Pants</option>
<option value="Shirts">Shirts</option>
</select>
</td>
</tr>
</div>
<div class="Accessories">
<tr>
<td align="right">Subcategory</td>
<td>
<select name="subcategory[]" id="subcategory[]">
<option value="">-Select-</option>
<option value="Shoe">Shoe</option>
<option value="Ring">Ring</option>
<option value="Bracet">Bracet</option>
</select>
</td>
</tr>
</div>
</div>

php

 <?php 
if (isset($_POST['product_name'])) {

$pid = mysql_real_escape_string($_POST['thisID']);
$product_name = mysql_real_escape_string($_POST['product_name']);
$price = mysql_real_escape_string($_POST['price']);
$category = mysql_real_escape_string($_POST['category']);
$details = mysql_real_escape_string($_POST['details']);
$quantity = mysql_real_escape_string($_POST['quantity']);
foreach ($_POST['subcategories'] as $subcategory)
{ if($subcategory != '')
{ $selected_subcategory = mysql_real_escape_string($subcategory); }
}
// See if that product name is an identical match to another product in the system
$sql = mysql_query("UPDATE products SET product_name='$product_name', price='$price', details='$details', category='$category', subcategory='$selected_subcategory',vendor='$vendor', quantity='$quantity' WHERE id='$pid'");
if ($_FILES['fileField']['tmp_name'] != "") {
// Place image in the folder
$newname = "$pid.jpg";
move_uploaded_file($_FILES['fileField']['tmp_name'], "../inventory_images/$newname");
}
header("location: vendor_inventory_list.php");
exit();
}
?>

javascript

     $(document).ready(function() {
$('#category').bind('change', function() {
var elements = $('div.container').children().hide(); // hide all the elements
var value = $(this).val();

if (value.length) { // if somethings' selected
elements.filter('.' + value).show(); // show the ones we want
}
}).trigger('change');
});

enter code here

最佳答案

在 jquery 中使用 hide() 不会删除元素。它只是隐藏起来。实际发生的是子类别的下拉菜单都在那里。并且传递了值。由于配件的子类别是最后一个,它的值是通过简单的 $_POST 获得的。使用 AJAX,或将子类别下拉列表的名称更改为子类别 [] 并尝试使用

获取所有子类别选择值
 foreach ($_POST['subcategories'] as $subcategory)
{
if($subcategory != '')
{
$selected_subcategory = $subcategory;
}
}

关于javascript - 如何从两个下拉菜单之一中选择插入到数据库的同一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23773686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com