I feel like there has got to be a better way of doing this to populate the selected....
<p>
<label for="industry" class="medium">Industry</label>
<select name="industry" >
<option value="" selected="<?php if($_POST['industry'] =="") { echo "selected";} ?>">-- Select Industry --</option>
<option value="Retail" selected="<?php if($_POST['industry'] =="Retail") { echo "selected";} ?>">Retail</option>
<option value="Restaurant" selected="<?php if($_POST['industry'] =="Restaurant") { echo "selected";} ?>">Restaurant</option>
<option value="Salon" selected="<?php if($_POST['industry'] =="Salon") { echo "selected";} ?>">Salon</option>
<option value="Pizza Delivery" selected="<?php if($_POST['industry'] =="Pizza Delivery") { echo "selected";} ?>">Pizza Delivery</option>
<option value="Grocery" selected="<?php if($_POST['industry'] =="Grocery") { echo "selected";} ?>">Grocery</option>
<option value="Quick Service" selected="<?php if($_POST['industry'] =="Quick Service") { echo "selected";} ?>">Quick Service</option>
<option value="Liquor Store" selected="<?php if($_POST['industry'] =="Liquor Store") { echo "selected";} ?>">Liquor Store</option>
<option value="Tobacco" selected="<?php if($_POST['industry'] =="Tobacco") { echo "selected";} ?>">Tobacco</option>
<option value="Video Store" selected="<?php if($_POST['industry'] =="Video Store") { echo "selected";} ?>">Video Store</option>
<option value="Other" selected="<?php if($_POST['industry'] =="Other") { echo "selected";} ?>">Other</option>
</select>
</p>
You can create array with values like
$options = array(
'Retail', 'Restaurant', 'Salon'
);
Then do simple for
to output values into form
<select name="industry">
<?php for ($i = 0; $i < count($options); $i++) { ?>
<option value="<?php echo $options[$i]; ?>"<?php echo $_POST['industry'] == $options[$i] ? ' selected="selected"' : ''; ?>><?php echo $options[$i]; ?></option>
<?php } ?>
</select>
By creating the $selected
array you cut out the visual and computational faff of having to check $_POST
each time.
$selected = array();
$selected[$_POST['industry']] = "selected='selected'";
//all others will be nothing
$industries = array(); //populate with options
foreach($industries as $i){
echo "<option value='$i' ".$selected[$i].">$i</option>";
}
I would simply make an array of the option values and loop through it and echo out the needed code. It's a bit cleaner to look at.
$optionValues = //blag
foreach($optionValues as $optionValue)
echo //option tag stuff
<p>
<label for="industry" class="medium">Industry</label>
<select name="industry" >
<option value="">-- Select Industry --</option>
<?php
$Industries = Array
(
"Retail",
"Restaurant",
"Salon",
"Pizza Delivery",
"Grocery",
"Quick Service",
"Liquor Store",
"Tobacco",
"Video Store",
"Other"
);
foreach($Industry as $Industries)
{
$Selected = ($_POST['industry'] == $Industry) ? 'selected="selected"' : "";
echo '<option value="' . $Industry . '" ' . $Selected . '>' . $Industry . '</option>'
}
?>
</select>
</p>
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.