-1

ユーザーが時間、分、午前/午後のオプションを選択できるようにしています。後で、このオプションを編集できるようにしたいと思います。同じロジックが他の人にも当てはまるので、この質問のために時間に焦点を当てます。

ユーザーが最初に時間を選択するとき、オプションから値を選択します。コードは次のようになります。

 <select>
               <?

        foreach($timehours as $key => $value){
        echo "<option name=\"hour1\" value=\"$key\">$value</option>";
        }
            ?>

 </select>

そして、$timehoursリストは次のようになります。

    $timehours = array(
'01:'          => "1",
'02:'          => "2",
'03:'          => "3",
'04:'          => "4",
'05:'          => "5",
'06:'          => "6",
'07:'          => "7",
'08:'          => "8",
'09:'          => "9",
'10:'          => "10",
'11:'          => "11",
'12:'          => "12",
);

(時間を変換しているので、このようになり、ドロップダウンに入れる前の時間から「:」を切り取るsubstrがあります。その部分は気にしないでください)

ユーザーが午後8時30分を選択し、08の部分が$hourを使用してデータベースから呼び出されたとします。

次のコードを試しました

     <select>
               <?

        foreach($timehours as $key => $value){
        echo "<option name=\"hour1\" value=\"$key\">$hour</option>";
        }
            ?>

 </select>

その結果、すべてのオプションが「08」(12回リストされた)でした。$keyを$hourに変更してみましたが、「08」の1つのオプションしかありませんでした。

私がやろうとしているのは、12時間のオプションすべてをドロップダウン()に表示することですが、その特定のオプションにselected = "selected"を追加すると思いますか?私は初心者で、どこから始めればよいかわかりません。これが私の最初の本当のPHPプロジェクトです。ありがとう!

4

2 に答える 2

1

まず第一に、二重引用符の中に一重引用符を使用する必要があり、その逆も同様です。次に、オプションではなく、選択に名前を付ける必要があります。

したがって、コードは次のようになります。

 <select name = 'hour1'>
           <?

    foreach($timehours as $key => $value){
    echo "<option value='$key'>$value</option>";
    }
        ?>

 </select>

PS Mixは、読みやすくするために引用符を付けています

于 2012-12-30T21:45:30.027 に答える
0

正しいもの:

<select name='hour1'>
foreach($timehours as $key => $text){
    if($key==$hour){
        echo "<option selected value=\"$key\">$text</option>";
    }else{
        echo "<option value=\"$key\">$text</option>";
    }
 }
</select>
于 2012-12-30T21:33:37.157 に答える