Vấn đề lớn nhất của bạn là bạn đang truy cập các giá trị cơ sở dữ liệu của mình không chính xác. mysql_fetch_array()
không trả về một đối tượng. Nó trả về một mảng. Vì vậy, bạn sử dụng cú pháp mảng ($rows['key']
) không phải cú pháp đối tượng ($rows->key
).
Chỉ cần kiểm tra xem giá trị tùy chọn có khớp với giá trị của $rows['agama']
hay không . Nếu vậy, hãy thêm selected
thuộc tính.
<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>
Một cách tốt hơn nữa sẽ là đặt tất cả các tùy chọn của bạn trong một mảng và lặp qua chúng để tạo ra các tùy chọn của bạn. Sau đó, bạn có thể kiểm tra các giá trị của chúng khi lặp lại chúng. Điều này sẽ ít mã hơn và dễ bảo trì hơn.
<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>
Để khắc phục sự cố vùng văn bản của bạn, <textarea>
không có giá trị value
thuộc tính. Bạn cần đặt nội dung vào giữa <textarea></textarea>
các thẻ:
<textarea id="alamatkorban" rows="5" name="alamatkorban" cols="33"><?php echo $rows['alamatkorban'] ;?></textarea>