Ihr größtes Problem ist, dass Sie falsch auf Ihre Datenbankwerte zugreifen. mysql_fetch_array()
gibt kein Objekt zurück. Es gibt ein Array zurück. Sie verwenden also die Array-Syntax ($rows['key']
) keine Objektsyntax ($rows->key
).
Überprüfen Sie einfach, ob der Optionswert mit dem Wert von $rows['agama']
übereinstimmt . Wenn ja, fügen Sie den selected
hinzu Attribut.
<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>
Ein noch besserer Weg wäre, alle Ihre Optionen in ein Array zu packen und sie zu durchlaufen, um Ihre Optionen zu generieren. Dann können Sie ihre Werte überprüfen, während Sie sie durchlaufen. Das wäre weniger Code und einfacher zu warten.
<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>
Um Ihr Textfeldproblem zu beheben, <textarea>
hat keinen value
Attribut. Sie müssen den Inhalt zwischen <textarea></textarea>
platzieren Tags:
<textarea id="alamatkorban" rows="5" name="alamatkorban" cols="33"><?php echo $rows['alamatkorban'] ;?></textarea>