0

営業スタッフが注文パネルを使いやすくするように努めています。変数で特定の値が検出された場合、ドロップダウン (「営業部門」) のデフォルトを正しい部門にしたいと考えてい$deptます。

つまり、これを行うよりも、この問題に取り組むより良い方法があるはずだと私は感じています:

<?php if($dept == 'web') { ?>

    <select class="select" name="dept">
        <option value=“web” selected="selected">Website Orders</option>
        <option value=“phone”&gt;Phone Orders</option>
        <option value=“retail”&gt;Retail Orders</option>
    </select>

<?php } elseif($dept == 'phone') { ?>

    <select class="select" name="dept">
        <option value=“web”&gt;Website Orders</option>
        <option value=“phone” selected="selected">Phone Orders</option>
        <option value=“retail”&gt;Retail Orders</option>
    </select>

<?php } else { ?>

    <select class="select" name="dept">
        <option value=“web”&gt;Website Orders</option>
        <option value=“phone”&gt;Phone Orders</option>
        <option value=“retail” selected="selected">Retail Orders</option>
    </select>

<?php } ?>

HTML を 3 回繰り返さずに、このドロップダウンのデフォルト設定を変更する方法はありますか? 私はかなり初心者の PHP プログラマーなので、より洗練されたソリューションを見つけることができない場合がほとんどです。:(

4

2 に答える 2

0

それはそれを行う効率的な方法のように見えます。おそらくもっと「きれい」になれるかもしれませんが、うまくいくなら、なぜ変更するのですか?私が考えることができる他の唯一の方法は、フレームワークを使用している場合、変数をテンプレートに渡して、使用するドロップダウンを決定することです。

于 2013-11-13T01:12:37.827 に答える
0

このようなことを行うことができます。Web テンプレートに適合するように調整し、最初の 2 行のセットアップ変数に適切なデータをプルするだけです...

$depts = array('web' => 'Website Orders', 'phone' => 'Phone Orders', 'retail' => 'Retail     Orders');
$dept = 'phone';
echo '<select class="select" name="dept">';
foreach ($depts as $deptKey => $deptName) {
    $line = '<option value="' . $deptKey . '"';
    $line .= ($dept == $deptKey) ? ' selected="selected">' : '>';
    $line .= $deptName . '</option>';
    echo $line . "\n"; 
}
echo '</select>';
于 2013-11-13T01:21:02.410 に答える