我正在使用此代码显示用户的下拉列表 . 提交表单时,我使用 $_POST['newproduct']
来获取值 . 变量 $isNewProduct
只能是 0 or 1
.
index.php
<?php
require "db.php";
$link = mysqli_connect($_srvr, $_user, $_pass, $_db);
$query = "SELECT `new_product` FROM `products` WHERE `id`=1";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_array($result);
$isNewProduct = $row[0];
mysqli_close($link);
?>
<form action="update.php" method="post">
<select name="newproduct">
<option value="0" <?php echo $isNewProduct ? "" : "selected" ; ?> >No</option>
<option value="1" <?php echo $isNewProduct ? "selected" : "" ; ?> >Yes</option>
</select>
<input type="submit" value="Update" name="update_info_btn" />
</form>
update.php
if( isset($_POST['update_info_btn']) ) {
$new_product = $_POST['newproduct'];
// query to update the row with $new_product in DB.
}
现在,如果 $isNewProduct = 1
然后选择'YES'预选,当选项更改为'NO'并且提交表单时, $_POST['newproduct']
始终给出 1
.
同样,我还有一个下拉列表,其中我有大约20个选项,一个是在更改选项后提交表单时预先选择的,它总是给出预选值 .
1 回答
用以下代码替换您的代码......