我的更新声明无法正常工作,我正在尝试从数据库中提取数据,使用" 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
}
?>
答案 0 :(得分:0)
这里的演讲并没有多大意义。您有一个插槽,其中ProductName位于一个插槽中,而“N”位于另一个插槽中。
一旦用户为产品选择了“N”,他们就不知道他们所说的“不”,因为他们再也看不到他们为其选择的产品名称。
提供包含产品名称的<label>
和旁边的“是/否”下拉菜单,以供他们选择。
但是,更新代码无效的原因是您调用了下拉列表featuredDropdown
<Select name="featuredDropdown">
并且您正尝试在更新代码中处理名为featuredProduct
的字段
foreach ($_POST['featuredProduct'] as $key => $val) {
你的下一个问题可能是你要多个<Select name="featuredDropdown">
,所以你需要把它变成一个数组,如下所示:
<Select name="featuredDropdown[]">
然后你将在$ _POST数组中有一个featuredDropdown
数组。 $_POST['featuredDropdown'][]