Lokman Hakim
Lokman Hakim

Reputation: 65

How to set selected option in dropdown

This will echo dropdown value take from database that

<select name="PACKAGE_ID" id="PACKAGE_ID" ng-model="FormData.Phases" class="form-control" required>

<?php 
$result=mysqli_query($conn, "select * from unifi WHERE STATUS!='DELETE' ORDER BY PACKAGE_NAME ASC");
while ($row=mysqli_fetch_assoc($result)) {
?>
    <option name="UNIFI" value="<?php echo $row["PACKAGE_NAME"]; ?>">
        <?php echo $row[ "PACKAGE_NAME"]; ?>
    </option>
<?php } ?>

<?php $result=mysqli_query($conn, "select * from streamyx WHERE STATUS!='DELETE' ORDER BY PACKAGE_NAME ASC");
while ($row=mysqli_fetch_assoc($result)) {?>
    <option name="STREAMYX" value="<?php echo $row["PACKAGE_NAME"]; ?>">
        <?php echo $row[ "PACKAGE_NAME"]; ?>
    </option>
<?php } ?>


<?php $result=mysqli_query($conn, "select * from webe WHERE STATUS!='DELETE' ORDER BY PACKAGE_NAME ASC");
while ($row=mysqli_fetch_assoc($result)) {?>
    <option name="WEBE" value="<?php echo $row["PACKAGE_NAME"]; ?>">
        <?php echo $row[ "PACKAGE_NAME"]; ?>
    </option>
<?php } ?>

<?php $result=mysqli_query($conn, "select * from dome WHERE STATUS!='DELETE' ORDER BY PACKAGE_NAME ASC");
while ($row=mysqli_fetch_assoc($result)) {?>
    <option name="WEBE" value="<?php echo $row["PACKAGE_NAME"]; ?>">
        <?php echo $row[ "PACKAGE_NAME"]; ?>
    </option>
<?php } ?>

below is how im taking value from database based on ticket id

 $sql = "SELECT * FROM cusinfo WHERE TICKET_ID = '".$strid."' ";
 $query = mysqli_query($conn,$sql);
 $result=mysqli_fetch_array($query,MYSQLI_ASSOC);

I want to echo selected value for eg.<<< $result["PACKAGE_ID"]==$row[ "PACKAGE_NAME"] echo selected >>

Upvotes: 0

Views: 517

Answers (1)

mickmackusa
mickmackusa

Reputation: 47894

Because you are using the $result variable many times with subsequent queries, you will need to preserve $result["PACKAGE_CATEGORY"] as a new variable, like this:

$selected=$result["PACKAGE_CATEGORY"];

You can write inline condition statements like this:

echo "<option name=\"WEBE\" value=\"{$row["PACKAGE_NAME"]}\"",($row[ "PACKAGE_NAME"]==$selected?" selected":""),">{$row["PACKAGE_NAME"]}</option>";

This means if the condition is true then selected will be echoed, if false an empty string will be echoed.

The same technique on multiple lines would look like this:

echo "<option name=\"WEBE\" value=\"{$row["PACKAGE_NAME"]}\"";
    echo $row["PACKAGE_NAME"]==$selected?" selected":"";
echo ">{$row["PACKAGE_NAME"]}</option>";

If you don't want to use an inline condition here is the standard syntax:

echo "<option name=\"WEBE\" value=\"{$row["PACKAGE_NAME"]}\"";
    if($row["PACKAGE_NAME"]==$selected){
        echo " selected";
    }
echo ">{$row["PACKAGE_NAME"]}</option>";

Upvotes: 1

Related Questions