sql >> Databáze >  >> RDS >> Mysql

PHP a MySQL - Jak zobrazit vybranou hodnotu v rozbalovací nabídce

Vaším největším problémem je nesprávný přístup k hodnotám databáze. mysql_fetch_array() nevrací předmět. Vrací pole. Takže použijete syntaxi pole ($rows['key'] ) není syntaxe objektu ($rows->key ).

Stačí zkontrolovat, zda se hodnota možnosti shoduje s hodnotou $rows['agama'] . Pokud ano, přidejte 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>

Ještě lepším způsobem by bylo umístit všechny vaše možnosti do pole a procházet je, abyste vygenerovali své možnosti. Poté můžete zkontrolovat jejich hodnoty, když je procházíte. To by bylo méně kódu a snadnější údržba.

<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>

Chcete-li vyřešit problém s textovou oblastí, <textarea> nemá value atribut. Musíte umístit obsah mezi <textarea></textarea> tagy:

<textarea id="alamatkorban" rows="5" name="alamatkorban" cols="33"><?php echo $rows['alamatkorban'] ;?></textarea>


  1. MySQL SUM IF pole b =pole a

  2. LINQ to SQL Take bez přeskakování způsobuje více příkazů SQL

  3. Jak generovat testovací data v SQL Server

  4. Ukládejte bajtové pole v MySQL pomocí Hibernate