MsKazza
MsKazza

Reputation: 97

showing selected option from mysql in dropdown

I have a dropdown showing options from mysql, no problem there. The problem is on the update page when i want to show the option already selected previously.

The dropdown selects options from the margins table and puts the value into a field in the products table.

This is the query that selects the product record :

<?php
$recordID = $_GET["recordID"];
$product_result = mysqli_query($con,"SELECT * FROM products WHERE product_code='$recordID'") or die(mysqli_error($con)); 
$product = mysqli_fetch_array($product_result);
$checked_special = $product['product_special'];
$checked_publish = $product['product_publish'];
$checked_frontpage = $product['product_display_frontpage'];
$checked_facebook = $product['display_facebook'];

  {
    ?>  

And this is the part of the form that gets the options from the margins table and displays them on page.

<tr>
<td>Display Facebook</td>
<td><input type="checkbox" name="display_facebook" id="display_facebook" value="y" <?php if ($checked_facebook == 'y') echo 'checked'; ?> /></td>
<td><strong>Margin Group :</strong></td>

<td> 
<select name="margin_group" id="margin_group"><?php 
$resul2 = mysqli_query($con,"SELECT * FROM margins");
while($row2 = mysqli_fetch_array($resul2))
  {
 ?> <option value="<?php echo $row2['margin_group']; ?>"> <?php echo $row2['margin_group']; ?></option>
    <?php }  ?>   </select></td>
</tr>

How can i get the $product['margin_group'] value from the products table show as selected option in the dropdown, so that the user doesn't have to reselect every time they update the page.

Thanks :)

MsKazza

Upvotes: 0

Views: 153

Answers (2)

innovative kundan
innovative kundan

Reputation: 631

<select name="margin_group" id="margin_group">

<?php 
$datasource = mysqli_query($con,"SELECT * FROM margins");
while($getdata= mysql_fetch_array($$datasource)){
?>
<option value="<?=$row2['margin_group']?>" <?php if($getdata['colume_name']==$row2['margin_group']) echo "selected";?>> <?=$row2['margin_group']?></option>
<?php } ?>
</select>

Hope it will help you :)

Upvotes: 0

Ahmad Essam
Ahmad Essam

Reputation: 1104

The idea is to add the word selected in the desired option tag like this :

<option value="x" selected>x</option>

This way it will be selected in the form Check this in order to do that we will make a conditional statement for every option value in the while loop. If the value meets the condition, we will echo the word selected

<?php while($row2 = mysql_fetch_array($resul2):  ?>
    <option value="<?= $row2['margin_group']; ?>" 
    <?php if($row2['margin_group']) == $products_table_variable) : ?> 
        selected
    <?php endif; ?> 
><?= $row2['margin_group']; ?></option>
<?php endwhile ?>

Upvotes: 1

Related Questions