php - 设置根据 MySQL 值选择的下拉列表

标签 php mysql

Possible Duplicate:
an option already selected on page load in drop down list and also changeble

我有一个下拉列表:

<select name="province">
                <option value="Alberta">Alberta</option>
                <option value="British Columba">British Columba</option>
                <option value="Manitoba">Manitoba</option>
                <option value="New Brunswick">New Brunswick</option>
                <option value="Newfoundland">Newfoundland</option>
                <option value="N.W. Territories">N.W. Territories</option>
                <option value="Nova Scotia">Nova Scotia</option>
                <option value="Ontario">Ontario</option>
                <option value="Prince Edward Island">Prince Edward Island</option>
                <option value="Saskatchewan">Saskatchewan</option>
                <option value="Yukon Territory">Yukon Territory</option>
                <option value="Quebec">Quebec</option>
</select>

该表单将选择提交到 MySQL 数据库中。这是个人资料页面。当用户返回此配置文件页面更改选择时,他的选择(从 MySQL 获取)应显示为已选择。有什么想法可以实现这一点吗?

即。再次加载个人资料页面时,检查数据库,抓取字段,将其与列表进行比较,然后选择该值。

最佳答案

你的逻辑是正确的,就去做吧!

  <?php
        $province_array = array('Alberta', 'British Columba', ......, 'Quebec');

        echo '<select name="province">';
        //get the user's setting with user_id from DB. You should get this before this script.
        $sql = "SELECT user_province FROM the_table WHERE user_id=$user_id;";
        $query = mysql_query($sql, $the_connection) or die (mysql_error());
        if($row = mysql_fetch_assoc($query)) {
          $user_province = $row['user_province']; 
           foreach($province_array as $value) {
         if ($value == $user_province) { //if the province==the user's setting, make it default 
           echo '<option value="'.$value.'" selected="selected">'.$value.'</option>';
         } else { //else, echo it as regular
           echo '<option value="'.$value.'">'.$value.'</option>';
         }
       }
    }
    echo '</select>';
    ?>
  1. 建立与数据库的连接。
  2. 确保您可以获取诸如“user_id”之类的任何内容 从数据库中区分不同的用户省份。
  3. 然后是示例。

关于php - 设置根据 MySQL 值选择的下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12644666/

相关文章:

php - file_get_contents 抛出 400 Bad Request 错误 PHP

php - php代码中的错误mysql更新命令

php - 使用 INSERT INTO $variable 使用 1 种形式插入到不同的表中

mysql - 如何优化聊天消息在数据库中的存储

php - 捕获大于 1 位小数的数字

php - 如何在 php 变量中包含 php include 语句?

MySql 或 Cassandra

sql - MySQL查询帮助: how to pivot this table?

mysql - 选择具有 MAX 值的行

php - 显示选项卡而不刷新整个页面