Masalah terbesar Anda adalah Anda mengakses nilai database Anda secara tidak benar. mysql_fetch_array()
tidak mengembalikan objek. Ini mengembalikan sebuah array. Jadi Anda menggunakan sintaks array ($rows['key']
) bukan sintaks objek ($rows->key
).
Cukup periksa untuk melihat apakah nilai opsi cocok dengan nilai $rows['agama']
. Jika demikian, tambahkan selected
atribut.
<select name="agama" id="agama">
<option value="Islam"<?php if ($rows['agama'] === 'Islam') echo ' selected="selected"'>Islam</option>
<option value="Khatolik"<?php if ($rows['agama'] === 'Khatolik') echo ' selected="selected"'>Khatolik</option>
<option value="Protestan"<?php if ($rows['agama'] === 'Protestan') echo ' selected="selected"'>Protestan</option>
<option value="Hindu"<?php if ($rows['agama'] === 'Hindu') echo ' selected="selected"'>Hindu</option>
<option value="Buddha"<?php if ($rows['agama'] === 'Buddha') echo ' selected="selected"'>Buddha</option>
<option value="Lain-Lain"<?php if ($rows['agama'] === 'Lain-Lain') echo ' selected="selected"'>Lain-Lain</option>
</select>
Cara yang lebih baik lagi adalah dengan meletakkan semua opsi Anda dalam array dan mengulangnya untuk menghasilkan opsi Anda. Kemudian Anda dapat memeriksa nilainya saat Anda mengulangnya. Ini akan mengurangi kode dan lebih mudah untuk dipelihara.
<select name="agama" id="agama">
<?php
$agamas = array('Islam', 'Khatolik', 'Protestan', 'Hindu', 'Buddha', 'Lain-Lain');
foreach ($agamas as $agama) {
$selected = ($rows['agama'] === $agama) ? ' selected="selected"' : '';
?>
<option value="Islam"<?php echo $selected; ?>>Islam</option>
<?php
}
?>
</select>
Untuk memperbaiki masalah textarea Anda, <textarea>
tidak memiliki value
atribut. Anda perlu menempatkan konten di antara <textarea></textarea>
tag:
<textarea id="alamatkorban" rows="5" name="alamatkorban" cols="33"><?php echo $rows['alamatkorban'] ;?></textarea>