【问题标题】:Using variable as selected value in dropdown that is created from tables使用变量作为从表创建的下拉列表中的选定值
【发布时间】:2015-05-13 03:02:07
【问题描述】:

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

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

?>

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

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

【问题讨论】:

  • 登录用户的$sexd也是sex
  • @Sean,是的 $sexd 是用户的性别。

标签: php html mysqli


【解决方案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>";
  }

【讨论】:

  • 非常感谢。这似乎解决了我面临的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-06
  • 2016-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多