Uw grootste probleem is dat u uw databasewaarden verkeerd opent. mysql_fetch_array()
retourneert geen object. Het geeft een array terug. U gebruikt dus array-syntaxis ($rows['key']
) syntaxis niet-object ($rows->key
).
Controleer gewoon of de optiewaarde overeenkomt met de waarde van $rows['agama']
. Zo ja, voeg de selected
. toe attribuut.
<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>
Een nog betere manier zou zijn om al uw opties in een array te plaatsen en er doorheen te lopen om uw opties te genereren. Vervolgens kunt u hun waarden controleren terwijl u er doorheen loopt. Dit zou minder code zijn en gemakkelijker te onderhouden.
<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>
Om je textarea-probleem op te lossen, <textarea>
heeft geen value
attribuut. U moet de inhoud tussen de <textarea></textarea>
. plaatsen tags:
<textarea id="alamatkorban" rows="5" name="alamatkorban" cols="33"><?php echo $rows['alamatkorban'] ;?></textarea>