如何从从数据库获取的数组中回显所选值

时间:2019-07-01 07:34:39

标签: php mysql

我想从数据库中回显选定的值以对其进行更新然后存储

例如,我在表printers中有一个资产类别为category的资产,其中包含其他类别,当我想在edit页面上编辑此资产时,我应该得到一个包含以下内容的下拉列表:所有类别并在printers上进行选择,然后如果我要更改它,我将保持不变

该数组是通过category从表user_asset内部与数据库中的asset_category表联接的下拉列表,作为外键

这是我到目前为止所做的

<label for="basicinput">الصنف : </label>
<?php 
    $result = mysqli_query($conn, "SELECT * FROM category");
?>
<select name="asset_category" class="form-control" required>
    <?php while( $row = mysqli_fetch_array($result)) {?>
    <option value="<?php echo $row['category_id'];?>">
        <?php echo $row['cate_name'];?>
    </option>
    <?php }?>
</select>
</div>

2 个答案:

答案 0 :(得分:0)

您可以添加是否选中if ($row['cate_name'] == 'computer') { ?>,然后将selected添加到此选项:

<label  for="basicinput">الصنف : </label>
<?php
    $result = mysqli_query($conn, "SELECT * FROM category");
?>
<select name="asset_category" class="form-control"  required >
<?php while( $row = mysqli_fetch_array($result)) {
    if ($row['cate_name'] == 'computer') { ?>
        <option value="<?php echo $row['category_id'];?>" selected><?php echo $row['cate_name'];?></option>
    <?php } else { ?>
        <option value="<?php echo $row['category_id'];?>"><?php echo $row['cate_name'];?></option>
    <?php }
}?>
</select>

注意::如果您有多个具有该类别的元素,它将选择最后一个。

答案 1 :(得分:0)

答案很简单..让我们把这段代码

<label for="basicinput">الصنف : </label>

<?php 
    $result = mysqli_query($conn, "SELECT * FROM category");
?>

<select name="asset_category" class="form-control" required>
    <?php while( $row = mysqli_fetch_array($result)) {

  if($row['cate_name']== printers)  { ?>

    <option value="<?php echo $row['category_id'];?>" selected="selected">
        <?php echo $row['cate_name'];?>  </option>

 <?php } else { ?>

    <option value="<?php echo $row['category_id'];?>">
        <?php echo $row['cate_name'];?> </option>
    <?php }?>

</select>
</div>

逻辑是使用while循环,使用if类检查条件,并在满足条件时将其设置为选中状态。然后它将作为选择值回显。