【问题标题】:drop down list keep previous selected value in php下拉列表在 php 中保留先前选择的值
【发布时间】:2013-02-10 21:52:43
【问题描述】:

我在 php 中创建了一个个人资料页面,用户使用 html 下拉列表选择性别。

html代码如下:

Gender<select name="gender"> 
    <option value=" "> EMPTY </option> 
    <option value="Male">Male</option> 
    <option value="Female">Female</option> 
</select> 

用户选择性别后,表单发送并将数据保存到数据库中。我想要的是,下次用户访问个人资料页面时,下拉列表会保留用户之前选择的值。例如,如果用户在下拉列表中选择“男性”,下次他访问个人资料页面进行更改时,下拉列表必须将“男性”显示为选定值(与上次保持一致)。知道如何在 PHP 中执行此操作吗?

【问题讨论】:

  • 您可以使用javascript将选项设置为选中。
  • 我已经尝试了下面得到的 2 个答案......但仍然无法正常工作
  • @Stefanos - 你的全部代码是什么?你能把它放进一个pastebin吗?

标签: php


【解决方案1】:

如果您使用的是表单,有一种非常简单的方法可以做到这一点。此外,您可能希望使用 isset() 以防他们是第一次访问该页面。

<select name="gender">
    <option value="male" <?php echo isset($_GET["gender"]) && $_GET["gender"] == "male" ? "selected" : "" ?>>Male</option>
    <option value="female" <?php echo isset($_GET["gender"]) && $_GET["gender"] == "female" ? "selected" : "" ?>>Female</option>
</select>

如果设置了 $_GET 变量并且最后一个是该特定选项,则所有这一切都是在选项标记中插入“选择”。希望这会有所帮助!

【讨论】:

    【解决方案2】:

    您需要做的是为选项赋予selected 属性。假设您在会话中存储配置文件信息并在服务器上启用了短标签,您可以执行以下操作:

    Gender: <select name="gender"> 
        <option value=" "> Not Selected </option> 
        <option value="Male"<?=$_SESSION['gender'] == "Male" ? ' selected="selected"' : ''?>>Male</option> 
        <option value="Female"<?=$_SESSION['gender'] == "Female" ? ' selected="selected"' : ''?>>Female</option> 
    </select> 
    

    【讨论】:

    • 上帝保佑你,Chirs,你给我的期末作业加分了!
    【解决方案3】:

    您必须读取数据库并添加一个 php 脚本,例如:

    <option value="Male" <?php
    if ($gender == "Male") { echo " selected"; }
    ?>>Male</option>
    <option value="Female" <?php
    if ($gender == "Female") { echo " selected"; }
    ?>>Female</option>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多