Reputation: 3771
I'm switching from radio buttons <input type="radio" />
to a dropdown menu <select><option value="">~
.
With the radio's I do the following:
<input type="radio" name="datumaflevering" value="1 week" <?php if ($row['datumaflevering'] == '1 week') { echo 'checked="checked"';}?> onDblClick="this.checked=false;"/> 1
Notice the PHP statement. If the date is already in the database it sets it as checked
. Can I do this with dropdown menu's as well?
<select size="1" name="datumaflevering" id="t3">
<option value="1 week" name="datumaflevering">1 week</option>
<option value="2 weken" name="datumaflevering">2 weken</option>
<option value="3 weken" name="datumaflevering">3 weken</option>
<option value="4 weken" name="datumaflevering">4 weken</option>
<option value="5 weken" name="datumaflevering">5 weken</option>
<option value="6 weken" name="datumaflevering">6 weken</option>
<option value="7 weken" name="datumaflevering">7 weken</option>
<option value="8 weken" name="datumaflevering">8 weken</option>
<option value="9 weken" name="datumaflevering">9 weken</option>
<option value="10 weken" name="datumaflevering">10 weken</option>
<option value="11 weken" name="datumaflevering">11 weken</option>
<option value="12 weken" name="datumaflevering">12 weken</option>
<option value="13 weken" name="datumaflevering">13 weken</option>
<option value="14 weken" name="datumaflevering">14 weken</option>
</select>
?
Upvotes: 1
Views: 3957
Reputation: 5774
Put your options in an array, and while looping you can compare the value of each option with your $row to add the required html:
<?php
// your value array...
$selectOptions = array('1 week','2 weken','...');
?>
<select size="1" name="datumaflevering" id="t3">
<?php foreach($selectOptions as $opt):
$selected = ($opt === $row['datumaflevering']) ? ' selected="selected"' : '';
?>
<option value="<?php echo $opt;?>" name="datumaflevering"<?php echo $selected?>><?php echo $opt;?></option>
<?php endforeach; ?>
</select>
?>
Upvotes: 1
Reputation: 7842
Better to write a loop in PHP
<select size="1" name="datumaflevering" id="t3">
<?php
for($i =1 ;$i < 15;$i++) {
$selected = ($row['datumaflevering'] == '$i weekn') ? 'selected':'';
echo "<option value='$i weken' $selected name='datumaflevering'>$i weken";
}
?>
</select>
Upvotes: 1
Reputation: 1157
You can indeed. All you have to change is echo 'checked="checked"'
to echo 'selected'
(or echo 'selected="selected"'
if using XHTML).
Upvotes: 1
Reputation: 14985
you could do:
<option<?php echo ($row['datumaflevering'] == '1 week')? ' selected="selected" : '' ?>>
Option
</option>
for each option...
Upvotes: 1
Reputation: 100205
something like:
<select size="1" name="datumaflevering" id="t3" onchange="this.selected=true;">
<option value="1 week" name="datumaflevering" <?php if ($row['datumaflevering'] == '1 week') { ?> selected = "selected" <?php } ?>>1 week</option>
...
</select>
Upvotes: 1
Reputation: 5108
Yes..
<select size="1" name="datumaflevering" id="t3">
<option value="1 week" name="datumaflevering" <?php if ($row['datumaflevering'] == '1 week') { ?> selected = "selected" <?php } ?>>1 week</option>
<option value="2 weken" name="datumaflevering">2 weken</option>
<option value="3 weken" name="datumaflevering">3 weken</option>
<option value="4 weken" name="datumaflevering">4 weken</option>
<option value="5 weken" name="datumaflevering">5 weken</option>
<option value="6 weken" name="datumaflevering">6 weken</option>
<option value="7 weken" name="datumaflevering">7 weken</option>
<option value="8 weken" name="datumaflevering">8 weken</option>
<option value="9 weken" name="datumaflevering">9 weken</option>
<option value="10 weken" name="datumaflevering">10 weken</option>
<option value="11 weken" name="datumaflevering">11 weken</option>
<option value="12 weken" name="datumaflevering">12 weken</option>
<option value="13 weken" name="datumaflevering">13 weken</option>
<option value="14 weken" name="datumaflevering">14 weken</option>
</select>
Upvotes: 1