1

さまざまな時間にフォームに戻ってフォームを完成させる機能を必要とするユーザーフォームを作成しています。これには、コンテンツを断続的に保存する必要があります。問題は、ユーザーが情報を送信し、戻ってきてさらに送信すると、前のコンテンツが消去されることです。これに対抗し、使いやすさを向上させるために、ユーザーがコンテンツを編集する前に、データベースからコンテンツをコールバックしてフォームに挿入するようにフォームを設定しました。これはテキストエリアには最適ですが、ドロップダウンなどにはあまり適していません。データベース内で一致するコンテンツに選択された状態を与えることができる他のコードを見てきました。ただし、データベースにドロップダウンコンテンツがある他のすべての例とは異なり、私のものは次のようにサイトにハードコードされています。

<div class="block-a">
    <label>Likelihood</label>
    <select class="large-input" name="questions['.$questions['id'].'][1]">
        <option></option>
        <option value="1">Negligible</option>
        <option value="2">Low</option>
        <option value="3">Medium</option>
        <option value="4">High</option>
        <option value="5">Very High</option>
        <option value="N/A">Not Applicable</option>
    </select>
</div>

つまり、午後1時にユーザーが尤度を「4」に設定してから午後3時に戻ってきたとすると、現在は空白に戻るだけです。データベースと通信し、「4」がデータベースにあることを確認してから設定します。選択した状態に「高」。

誰かがこれを行う方法を知っていますか?私は成功しないように努めてきました。乾杯

4

1 に答える 1

1

あなたの質問に答えるだけです-上記のリストがハードコーディングされていて、それに固執したいと仮定します...

    <option <?php echo (isset($var_which_holds_value) && $var_which_holds_value == '') ? 'selected="selected"' : ''); ?>></option>
    <option value="1" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 1) ? 'selected="selected"' : ''); ?>>Negligible</option>
    <option value="2" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 2) ? 'selected="selected"' : ''); ?>>Low</option>
    <option value="3" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 3) ? 'selected="selected"' : ''); ?>>Medium</option>
    <option value="4" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 4) ? 'selected="selected"' : ''); ?>>High</option>
    <option value="5" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == <?php echo (isset($var_which_holds_value) && $var_which_holds_value == '') ? 'selected="selected"' : ''); ?>) ? 'selected="selected"' : ''); ?>>Very High</option>
    <option value="N/A" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 'N/A') ? 'selected="selected"' : ''); ?>>Not Applicable</option>

ただし、それを実現するためのより良い方法(コードの可読性と管理の観点から)があります。

于 2012-06-19T07:22:07.967 に答える