如何从PHP中选择预先选择的选项中获取值

时间:2016-04-08 13:02:23

标签: php html forms

我正在使用此代码显示用户的下拉列表。提交表单时,我使用$_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,则选项“是”&#39;如果选项更改为“否”,则会预先选择“否”。表单已提交,$_POST['newproduct']始终提供1

同样,我还有一个下拉列表,其中我有大约20个选项,一个是在更改选项后提交表单时预先选择的,它总是给出预选值。

1 个答案:

答案 0 :(得分:0)

使用以下代码替换您的代码......

 setParent(parent){
   this.parent = parent;
 }