0

私はこのコードを持っています:

$thisTime = gmmktime(0, 0, 0);  
            for($i=0; $i<=95; $i++)
           {  
                $perfTimeNumber = ($i+1);  
                $perfTimestamp = $thisTime;  
                $perfTime = date("H:i", $perfTimestamp);           
        echo '<option value="'. $perfTimeNumber .'" selected="'.$sel.'">' .$perfTime .'</option>';   
                $thisTime = $thisTime+(15*60);
            } 

これは、15 分間隔で 01:00 から 24:45 までのオプションを含む選択入力を生成するのにうまく機能します。ただし、コードを変更して if ステートメントを追加すると、奇妙な結果が得られます...

$thisTime = gmmktime(0, 0, 0);

            for($i=0; $i<=95; $i++)
            {
                $perfTimeNumber = ($i+1);
                $perfTimestamp = $thisTime;
                $perfTime = date("H:i", $perfTimestamp);
                if ($perfTime == '19:30') {
                    $sel = "selected";
                }
        echo '<option value="'. $perfTimeNumber .'" selected="'.$sel.'">' .$perfTime .'</option>';

                $thisTime = $thisTime+(15*60);
            }

アイデアは (勝手に!) select 入力をデフォルトの 19.30 にすることです。上記のコードは
selected = "selected"、19:30 オプションだけでなく、19:30 以降のすべてのオプションに追加されます。if ステートメントを少し変更すると、 つまり、代わりにif ($perfTime = '19:30') { ...単一のステートメントを使用すると、すべての値が 19:30 の一連のオプションが作成されます。私は何を間違っていますか?===

4

4 に答える 4