使用Dropdown值更新MySql DB

时间:2013-09-25 08:11:18

标签: php mysql forms

我的更新声明无法正常工作,我正在尝试从数据库中提取数据,使用" 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 
    }
?>

1 个答案:

答案 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'][]