开发者

Looping through a drop down, how to select value?

开发者 https://www.devze.com 2023-02-09 10:11 出处:网络
When displaying a form on a page for a user to edit information, and the form consists of a drop down box, how do you loop through the selections in the dropdown box to select their predefined mySQL e

When displaying a form on a page for a user to edit information, and the form consists of a drop down box, how do you loop through the selections in the dropdown box to select their predefined mySQL entry?

For example

Users country: Australia

How would I go about searching through a list of countries ie: http://snipplr.com/view/4792/country-drop-down-list-for-web-forms/ to make:

<option value="AU">Australia&开发者_开发知识库lt;/option>

become

<option value="AU" selected="selected">Australia</option>


You could do something like:

<?php
$countries = array('AU' => 'Australia', 'AF' => 'Afghanistan', ...);
$selected = 'AU';
foreach ($countries as $code => $label) {
    echo '<option value="' . $code . '"';
    if ($selected == $code) {
        echo ' selected="selected"';
    }
    echo '>' . $label . '</option>';
}
?>

Not the prettiest but you get the idea. As Shakti suggests, it's also easier to maintain if the values are in the DB and not in a massive array in the middle of the code.


Could be something like this:

<?php
//your query here
$sql = "SELECT * FROM countries ORDER BY code ASC";
$result_set = $database->query($sql);

while($country = $database->fetch_array($result_set)) {
    if ($country["code"] == "AU"){
        echo "<option value=\"{$country['code']}\" selected=\"selected\">{$country['name']}</option>";
}
    else {
        echo "<option value=\"{$country['code']}\">{$country['name']}</option>";
    }       
?>
0

精彩评论

暂无评论...
验证码 换一张
取 消