sql >> データベース >  >> RDS >> Mysql

PHPとMySQL-ドロップダウンメニューに選択した値を表示する方法

    最大の問題は、データベース値に誤ってアクセスしていることです。 mysql_fetch_array() オブジェクトを返しません。配列を返します。したがって、配列構文($rows['key'] )オブジェクト構文ではありません($rows->key

    オプションの値が$rows['agama']の値と一致するかどうかを確認してください 。その場合は、selectedを追加します 属性。

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

    さらに良い方法は、すべてのオプションを配列に入れ、それらをループしてオプションを生成することです。次に、それらをループしながら、それらの値を確認できます。これにより、コードが少なくなり、保守が容易になります。

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

    textareaの問題を修正するには、<textarea> valueがありません 属性。 <textarea></textarea>の間にコンテンツを配置する必要があります タグ:

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


    1. Drupalデータベース構造-効率的/非効率的?

    2. Countを使用すると、Mysqlは1行のみを返します

    3. 同じテーブルの2つの行を比較する方法

    4. MySQLテーブルはクラッシュとしてマークされ、最後の(自動?)修復に失敗しました