2

我创建了一个包含几个字段的员工列表,其中也包括下拉列表。问题是每当我选择编辑选项并重定向到编辑页面时,下拉列表中的值将设置为我从中查询它的数据库中的第一个值。我想在选择编辑选项之前将下拉列表的值设置为与预定义的相同,即,如果我选择要编辑的区域并且在编辑之前它的值是 T5,我希望选择相同的值而不是 T1,而不是我正在使用的代码编辑页面是

 <?php                                          
  $sql = "SELECT DISTINCT `territory` FROM se_ae ";
 ?>
                    <select name="territory">
                    <?php foreach ($dbo->query($sql) as $row) { ?>
                    <option value="<?php echo $row['territory']; ?>">
                     <?php echo $row['territory']; ?></option> 
    <?php }
     ?>

谁可以帮我这个事。

4

2 回答 2

0

您可能有一个存储员工字段的变量,对吧?如果你不这样做,你应该,毕竟你正在编辑它的数据,所以你应该显示当前数据,这样你就可以改变你想要的。

我们称这个变量为$employee

<?php $sql = "SELECT DISTINCT `territory` FROM se_ae "; ?>
<select name="territory">
  <?php foreach ($dbo->query($sql) as $row) { ?>
    <?php $selected = ($row['territory'] == $employee['territory']) ? 'selected' : '' ?>
    <option value="<?php echo $row['territory']; ?>" <?php echo $selected; ?>>
      <?php echo $row['territory']; ?>
    </option>
  <?php } ?>
</select>

这样,对于每个区域,您检查它是否等于员工区域,如果是,它会将selected参数添加到 tag option

于 2015-07-03T11:48:02.343 回答
0

因为您已将值保存在变量中。你可以试试

<?php foreach ($dbo->query($sql) as $row) { ?>
    <option value="<?php echo $row['territory']; ?>" <?php echo ($territory == $row['territory']) ? 'selected' : '';?>>
        <?php echo $row['territory']; ?></option> 
<?php } ?>

添加<?php echo ($territory == $row['territory']) ? 'selected' : '';?>

于 2015-07-03T11:52:25.203 回答