PHP MySQL-在<;选择></选择>;类型


PHP MySQL - Show Value on <Select></select> Form

我制作了3个文件(detail.phpedit.phpeditdata.php

detail.php显示了使用select * from table where id='$id的MySQL数据列表,并且它正在工作。但它对我的<select>不起作用。它仍然显示默认值。

这是我的db连接

<?php 
      include 'config.php';
      $id=$_GET['id'];
      $sqlTampil="select * from data_korban Where kasus_id=$id"; 
      $qryTampil=mysql_query($sqlTampil); 
      $dataTampil=mysql_fetch_array($qryTampil); 
      $data=mysql_fetch_array($qryTampil);
     ?>

另一种形式的代码(有效(

<input type="DATE" name="tanggal" size="20" value="<?php echo $dataTampil['tanggal']; ?>">
<input type="text" name="namakorban" size="40" value="<?php echo $dataTampil['namakorban']; ?>">

选择表单的代码(无效((默认值=Kota Mataram,选择值为Lombok Tenga(

<select name="kabupaten" id="kabupaten" value="<?php echo $dataTampil['kabupaten']; ?>">
<option value="Kota Mataram">Kota Mataram</option>
<option value="Lombok Barat">Lombok Barat</option>
<option value="Lombok Tengah">Lombok Tengah</option>
<option value="Lombok Timur">Lombok Timur</option>
<option value="Lombok Utara">Lombok Utara</option>
<option value="Sumbawa Besar">Sumbawa Besar</option>
<option value="Sumbawa Barat">Sumbawa Barat</option>
<option value="Kota Bima">Kota Bima</option>
<option value="Dompu">Dompu</option>
</select>

我对如何在select表单中设置值有点困惑。

您需要从<select>元素中删除value属性,并在相应的<option>元素中使用selected属性,例如。。。

<option value="Kota Mataram"
        <?= $dataTampil['kabupaten'] == 'Kota Mataram' ? 'selected' : '' ?>
>Kota Mataram</option>

您可以使用数组和foreach循环(例如(来简化这一过程

<select name="kabupaten" id="kabupaten">
    <?php foreach (['Kota Mataram', 'Lombok Barat', 'Lombok Tengah' ... ] as $value) :
    $selected = $dataTampil['kabupaten'] == $value ? ' selected' : '';
    $value = htmlspecialchars($value);
    ?>
    <option value="<?= $value ?>"<?= $selected ?>>
        <?= $value ?>
    </option>
    <?php endforeach ?>
</select>