Первая опция всегда выбрана по умолчанию, если никто другой не выбран, и …. для модальной опции попробуйте использовать selected = «selected» вместо SELECTED
<select class="form-control" name="kategori" id="kategori" value="NULL">
<?php
if(isset($pilihan_kategori)){
foreach ($pilihan_kategori as $kat) {
if($kat['kode_kategori'] == $hasil['kode_kategori']){
?>
<option selected="selected" name="kategori" id="kategori" value="<?php echo $kat['kode_kategori'];?>"><?php echo $kat['nama_kategori'];?></option>
<?php
}else{
?>
<option name="kategori" id="kategori" value="<?php echo $kat['kode_kategori'];?>"><?php echo $kat['nama_kategori'];?></option>
<?php
}
}
}
?>
</select>
Я не уверен, является ли это оператором или запросом ;-), но я немного очистил ваш код, чтобы вам больше не нужно было последовательно открывать и закрывать PHP:
<?php
if(isset($pilihan_kategori)){
echo '<select class="form-control" name="kategori" id="kategori" value="NULL">';
foreach ($pilihan_kategori as $kat) {
$selected = ($kat['kode_kategori'] == $hasil['kode_kategori']) ? " selected='selected'" : "";
echo "<option {$selected} name='kategori' id='kategori' value=" . $kat['kode_kategori'] . ">" . $kat['nama_kategori'] . "</option>";
}
echo "</select>";
}
?>
Я надеюсь, что это помогает вообще.
Других решений пока нет …