设置基于 MySQL 值选择的下拉列表 [英] Set dropdown list selected based on MySQL value

查看:37
本文介绍了设置基于 MySQL 值选择的下拉列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能的重复:
已选择的选项在下拉列表中的页面加载时也可以更改

我有一个下拉列表:

<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 中获取)应显示为已选择.任何想法如何实现这一目标?

The form submits the choice into a MySQL database. This is a profile page. When the user comes back to this profile page to change the selection, his choice (which is grabbed from MySQL) should be shown as selected. Any ideas how to achieve this?

即.再次加载配置文件页面时,检查数据库,抓取该字段,将其与列表进行比较,然后选择该值作为已选择.

ie. When loading up the profile page again, check against the database, grab the field, compare it to the list and then select that value as selected.

推荐答案

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

You got the correct logic, just do it!

  <?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. 然后是示例.

这篇关于设置基于 MySQL 值选择的下拉列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆