使用变量作为从表创建的下拉列表中的选定值

时间:2015-05-13 03:02:08

标签: php html mysqli

我花了很多时间使用StackOverflow并在我当前的项目上取得了很多进展但是我遇到了一个障碍,我找不到任何地方的解决方案所以我认为这是我需要时间寻求帮助的时候。

  • 网站是用户个人资料类型网站
  • 每个用户设置一个个人帐户,然后可以导航到特定页面(更新),在那里他们可以从下拉菜单中选择性别(m / f),职业,年龄范围等内容。下拉选项全部从表中提取(每个类别1个表)。
  • 在完成信息选择后,数据存储在名为“用户”的表格中。在正常情况下检索数据或写入数据没有问题
  • 问题是如果用户导航回更新页面我无法使用它,因此每个下拉菜单的默认值是与存储在users表中的值匹配的值

以下是我用来生成其中一个下拉列表的代码。

<?
      $query = "SELECT sex FROM pupsex"; 
      $sex = mysqli_query($mysqli,$query);

      $sexdown = "<select name='sex'>";
      while($row = mysqli_fetch_assoc($sex)) {
      $sexdown .= "\r\n<option value='{$row['sex']}'echo selected=$sexd>{$row['sex']}</option>";
      }
      $sexdown .= "\r\n</select>";
      echo $sexdown;

&GT;

在显示代码中的下拉列表之前,我使用登录用户并检索所有特定信息并将其插入变量中,以便它们可以用作默认值。

如果您需要更多信息,请提前致谢。

1 个答案:

答案 0 :(得分:1)

尝试在下拉列表生成代码中调整while循环:

while($row = mysqli_fetch_assoc($sex)) {
   if ($sexd == $row['sex']) {
           $selected = " selected ";
       } else {
           $selected = "";
       }
      $sexdown .= "\r\n<option value='{$row['sex']}' {$selected} >{$row['sex']}</option>";
  }