[英]Updating MySql DB with Dropdown values
我的更新语句无法正常工作,我正在尝试从数据库中提取数据,并在其中包含“ Y”或“ N”的下拉列表中,在提交值时将其输入数据库并刷新页面。
到目前为止,我有我的项目列表,每个项目都有正确填充的下拉列表,现在是我的提交无法正常工作。
<?php
$updatedFeatProd = $_POST['featuredProduct'];
var_dump($updatedFeatProd);
if ($_POST) {
foreach ($_POST['featuredProduct'] as $key => $val) {
$query = 'UPDATE tblProducts SET featuredProduct = ' . $updatedFeatProd . '
WHERE fldID = ' . $val;
$sql = dbQuery($query);
}
}
$sql = dbQuery('SELECT fldId, fldName, featuredProduct FROM tblProducts');
?>
<form method="post" action="#" name="featuredProd">
<table>
<tr><td><p>Product Name</p></td><td><p>Is a featured product?</p></td></tr>
<?php
$products = dbFetchAll($sql);
foreach ($products as $product) {
//var_dump($product['fldName']);
?>
<tr>
<td>
<p><?php echo $product['fldName']; ?></p>
</td>
<td>
<select name="featuredDropdown">;
<?php
if ($product['featuredProduct'] == 'Y') {
?>
<option value="<?php $product['fldId'] ?>"><?php echo $product['featuredProduct'] ?></option>
<option value="<?php $product['fldId'] ?>">N</option>
<?php
} else {
?>
<option value="<?php $product['fldId'] ?>"><?php echo $product['featuredProduct'] ?></option>
<option value="<?php $product['fldId'] ?>">Y</option>
<?php
}
?>
</select>
</td>
</tr>
<?php
}
?>
这里的陈述没有多大意义。 您有一个下拉列表,其中一个插槽带有ProductName,另一个插槽带有“ N”。
一旦用户为产品选择了“ N”,他们就不知道他们说了“不”了,因为他们不再能够看到为其选择“否”的产品名称。
最好提供一个包含产品名称的<label>
和旁边的YES / NO下拉菜单供他们选择。
但是,您的更新代码无法正常工作的原因是您调用了下拉菜单featuredDropdown
<Select name="featuredDropdown">
并且您正在尝试在更新代码中处理一个名为featuredProduct
的字段
foreach ($_POST['featuredProduct'] as $key => $val) {
下一个问题可能是您要输出多个<Select name="featuredDropdown">
因此您需要像这样将其放入数组中:
<Select name="featuredDropdown[]">
然后,您将在$ _POST数组中有一个featuredDropdown
数组。 $_POST['featuredDropdown'][]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.