0

テンプレート フレームワークを使用せずに、HTML 内からできるだけ多くのコードを削除しようとしていますが、選択ボックスのオプション'selected'を定義するために返されない理由がわかりません。オプションに ok を入力し、値を割り当てます。'selected'$row_status$status

私はこれで道を外れていますか?

    <select id='status'>
     <option>Please Select</option>
     <?php while($row_status = mysqli_fetch_assoc($results_status)): ?>
     <option <?php sel($row_status['list_value'],$status)?> >  <?php echo $row_status['list_value'] ?>  </option>
     <?php endwhile; ?>
    </select>

    function sel($rs, $status){
       if ($rs==$status){
          return "selected";
       }
    }
4

2 に答える 2

0

sprintf()引数を介して条件と値を使用および渡すことで、コードを簡素化できます。

while ($row_status = mysqli_fetch_assoc($results_status)) {
    echo sprintf('<option%s>%s</option>',
        $row_status['list_value'] == $status ? ' selected' : '',
        htmlspecialchars($row_status['list_value'], ENT_QUOTES, 'UTF-8')
    );
}

適切な HTML エスケープも追加しました。

于 2013-06-30T06:24:07.983 に答える