我制作了3个文件(detail.php、edit.php和editdata.php detail.php显示了使用 这是我的db连接 另一种形式的代码(有效( 选择表单的代码(无效((默认值=Kota Mataram,选择值为Lombok Tenga( 我对如何在select表单中设置值有点困惑。select * from table where id='$id
的MySQL数据列表,并且它正在工作。但它对我的<select>
不起作用。它仍然显示默认值。<?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']; ?>">
<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>
元素中删除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>