简体   繁体   中英

How to show a selected value in a dynamic drop down in PHP

I am trying to retain the value selected in a drop down menu. Everything is working, but I don't know how to show and retain the selected value. How can I do this?

I've got this working using another way:

<?php if($_POST['selClass'] == $row1['class']) echo 'selected="selected"' ?>

but this leads to other problems, ie a blank option in my drop down menu.

<form action="" method="POST" name="form1" id="form1">
<select name="selClass" size="1" id="selClass" onchange="form1.submit()">
<option value="">Select a class</option>
<?php
echo "<option value='". "All records". "' . >" . "all records". "</option>";
while ($row1 = mysqli_fetch_array($rs5)) {
echo "<option value='".$row1["class"] ."'>" . $row1["class"]. "</option>";
}
?>
</select>
</form>

You can approach this as

<?php
$selectedOption = '';
if($_POST){
 $selectedOption = $_POST['selClass'];
}
?>
<form action="" method="POST" name="form1" id="form1">
<select name="selClass" size="1" id="selClass" onchange="form1.submit()">
<option value="">Select a class</option>
<?php
    echo "<option value='". "All records". "' . >" . "all records". "</option>";
    while ($row1 = mysqli_fetch_array($rs5)) {
        if($row1["class"] == $selectedOption)
            echo "<option value='".$row1["class"] ."' selected='selected'>" . $row1["class"]. "</option>";
        else
            echo "<option value='".$row1["class"] ."'>" . $row1["class"]. "</option>";
    }
?>
 </select>
</form>

There is two option you can choose whichever you feel ease.

<?php
echo "<option value='". "All records". "' . >" . "all records". "</option>";
while ($row1 = mysqli_fetch_array($rs5)) {
      if($_POST['selClass'] == $row1['class']){
        echo "<option value='".$row1["class"] ."' selected='selected'>" . $row1["class"]. "</option>";
      }else{
        echo "<option value='".$row1["class"] ."'>" . $row1["class"]. "</option>";
      }
}
?>

OR

<?php
$selectedClass = $_POST['selClass'];
while ($row1 = mysqli_fetch_array($rs5)) { ?>
      <option value="<?php echo $row1['çlass']?>" <?php if(selectedClass == $row1['class']) { echo "selected='selected'"; }?> ><?php echo $row1['class']?></option>
<?php } ?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM