预先选择PHP MySQL编辑表单选择下拉列表

时间:2016-06-20 13:53:25

标签: php mysql

我当然已经浏览过,并且无法获得这个看似简单的答案!

我有一个可以更新记录的表单,我也可以通过单击我创建的编辑按钮来编辑它们。当我点击编辑它们时,我显然希望默认选择当前设置。通过$ _GET变量,我已在文本输入中预填充了DB中的正确值。

但是,我有三个下拉列表,我无法选择正确的值和名称。

我的表单,例如,有一个下拉列表,其中包含来自以下查询的所有用户:

SELECT
    users.id AS 'Users ID',
    users.first_name AS 'User First Name',
    users.last_name AS 'User Last Name'
FROM users
ORDER BY users.first_name;

使用以下内容,它按名称正确显示用户列表,并将值作为ID发送到数据库

<div class="form-group">
    <label>Choose User</label><br />
    <select name="userid">
    <?php
        while($usersrow = $usersresult->fetch_assoc()) {
        //Display Customer Info
        $output = '<option value="'.$usersrow['User ID'].'">'.$usersrow['User First Name'].' '.$usersrow['User Last Name'].'</option>';

        //Echo output
        echo $output;                   
        }
    ?>
    </select>
</div>

以此作为设置,是否有人知道如何进入我的编辑字段并预先选择下拉列表,其中值仍为用户ID?我尝试了很多不同的方法,包括使用三元if和其他$ _GET变量(用户ID)和$ name(用户名)进行连接,但无济于事。

感谢任何帮助!

修改

更简单地说......我试图根据与下拉选项中的值匹配的$ id $ _GET变量预先选择下拉列表。

由于

5 个答案:

答案 0 :(得分:1)

为与正在编辑的userId匹配的选项设置所选属性:

<div class="form-group">
    <label>Choose User</label><br />
    <select name="userid">
    <?php
        while($usersrow = $usersresult->fetch_assoc()) {
        //Display Customer Info
        if($usersrow['User ID'] == $_GET['userid']){
          $selected = "selected";
        }else{
          $selected = "";
        }
        $output = '<option value="'.$usersrow['User ID'].'" '.$selected.'>'.$usersrow['User First Name'].' '.$usersrow['User Last Name'].'</option>';

        //Echo output
        echo $output;                   
        }
    ?>
    </select>
</div>

答案 1 :(得分:1)

    <option value="<?php echo $row['softcode']; ?>"
     <?php if ($rows['office_type'] == $row['softcode']): ?>  
        selected="selected" 
     <?php endif ?>>
    <?php echo $row['description']; ?>
    </option>

答案 2 :(得分:0)

尝试这样的事情:

       if ($usersrow['id']==$_GET['id']) {
             $selected = "selected";
       } else {
             $selected = "";
       }
       $output = '<option '.$selected.' value="'.$usersrow['User ID'].'" >'.$usersrow['User  First Name'].' '.$usersrow['User Last Name'];

    $output.='</option>';

答案 3 :(得分:0)

你可以试试这个..

<select name= "USER LIST">
  <option value="">Choose user </option>
  <option value="User1"<?php if($record['User ID']== 'User1'){ echo 'selected'; }?>>USER 1</option>
                       <option value="User2"<?php if($record['User ID']== 'User1'){ echo 'selected'; }?>>USER 2</option>
 </select>

答案 4 :(得分:0)

看看这个:

<?php
    while($usersrow = $usersresult->fetch_assoc()) {
    //Display Customer Info
    $output = '<option value="'.$usersrow['User ID'].'"'. $usersrow['User ID']== $_GET['id'] ? "selected" : "" . '" >'.$usersrow['User First Name'].' '.$usersrow['User Last Name'].'</option>';

    //Echo output
    echo $output;                   
    }
?>

查看$_GET['id']是否与$userrow['id']匹配的神奇部分,如果匹配,则选择其他所有内容:

$usersrow['User ID']== $_GET['id'] ? "selected" : ""