Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP &MySQL - So zeigen Sie den ausgewählten Wert im Dropdown-Menü an

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>