Php 当我们试图编辑行的数据时,如何设置下拉列表的预定义值?

Php 当我们试图编辑行的数据时,如何设置下拉列表的预定义值?,php,drop-down-menu,mysql-logic,Php,Drop Down Menu,Mysql Logic,我已经创建了一个员工列表,其中几乎没有包含下拉列表的字段。问题是,每当我选择编辑选项并重定向到编辑页面时,下拉列表中的值就会被设置为我查询它的数据库中的第一个值。我希望将下拉列表的值设置为与选择编辑选项之前预定义的值相同,即如果我选择了要编辑的区域,并且其值在编辑之前为T5,我希望选择相同的值而不是T1,而我在编辑页面中使用的代码为 <?php $sql = "SELECT DISTINCT `ter

我已经创建了一个员工列表,其中几乎没有包含下拉列表的字段。问题是,每当我选择编辑选项并重定向到编辑页面时,下拉列表中的值就会被设置为我查询它的数据库中的第一个值。我希望将下拉列表的值设置为与选择编辑选项之前预定义的值相同,即如果我选择了要编辑的区域,并且其值在编辑之前为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 }
     ?>


有人能帮我吗。

您可能有一个存储员工字段的变量,对吗?如果不这样做,那么在编辑其数据之后,您应该显示当前数据,以便可以更改所需内容

让我们调用这个变量
$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>


这样,对于每个区域,您可以检查其是否等于员工区域,如果等于,则会将
选定的
参数添加到标记
选项中,因为您已将值保存在变量中。你可以试试看

<?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 } ?>


编辑时需要显示的值在何处表示您在何处保存或获取值variable@Uchiha我正在查询数据库中的值,我已将这些值存储在一个名为territory的列中,并查询它以显示在下拉列表中。您必须使用以前选择的employee写入所选属性你必须申请IF声明