根据PHP中的数据库值显示选择名称

时间:2019-03-25 15:50:19

标签: php

我正在学习PHP。我可以在表单中成功显示如下所示的文本字段值。

<div class="col-md-3">
    <input type="text"
           name="unit"
           id="unit"
           value="<?php if(isset($_GET['project_id'])){echo $row['unit'];}?>"
           class="form-control"
           required>
</div>

我想在选择表单中使用类似的内容。我的数据库表中有一个名为status的值。 if status = 1 then I want display Open, if status = 2 then I want display Closed。我无法正确考虑选择表格的条件。

<div class="col-md-3">
    <select name="status" id="status" class="select2">
        <option value="">--Project Status--</option>                            
    </select>

让我知道是否有人可以帮助我实现我的目标。 非常感谢

2 个答案:

答案 0 :(得分:2)

您可以这样:

<div class="col-md-3">
    <select name="status" id="status" class="select2">
        <?php if (!isset($_GET['project_id'])) { ?>
        <option value="">--Project Status--</option>
        <?php } ?>
        <option value="1" <?php echo $row['status'] == '1' ? 'selected' : ''; ?> >Open</option>                            
        <option value="2" <?php echo $row['status'] == '2' ? 'selected' : ''; ?> >Closed</option>                            
    </select>
</div>

答案 1 :(得分:0)

将您的状态放入这样的数组中:

$statuses = [
    1 => 'Open',
    2 => 'Closed',
];

假设您有一个项目,并且有一些状态ID,请将其放入$projectStatus

HTML如下:

<select name="status" id="status" class="select2">
<?php foreach ($statuses as $key => $status) { ?>
    <option value="<?php echo $key ?>" <?php echo $key == $projectStatus ? 'selected' : '' ?><?php echo $status ?></option>                            
<?php } ?>
</select>