2017-01-01 8 views
1

私が作っているリストにいくつか問題があります。私はドロップダウンボックスのforループの値をエコーし​​たいと思っていますが、そのようにすると、そのように1行にすべてエコーします。私は少しそれが...いつものようにそのおそらくな単純なものであるものにとして困惑として相続人は私のコードは1行に項目を表示するPHP forループ

<select style="width: 183px;" name="timee" id="timee"> 
<?php 
$timee = ''; 
for ($i = 0; $i <= 24; $i++) { 
    if($i <= 0) { 
    $timee .= $i; 
    }else { 
    $timee .= str_pad($i, 2, "0", STR_PAD_LEFT); 
    } 
} 
?> 
<option value="<?php echo $timee; ?>"> 
    <?php echo $timee; ?> 
</option>         
</select> 

どのように見えるすべてのヘルプははるかに高く評価されるだろう

example of output

地獄。

+0

各値を別のオプションにしたいですか? – Barmar

+0

@Barmar私は何か適切なシンプルになると言ったように...私はそれが私のループだったと思って忙しかったが、もし私もオプションをループすれば助けます...ヘルプlmao – Jordan

答えて

0

何をする必要が各ループの繰り返しごとに値を印刷している間ループが、終了した後、あなたはすべてのあなたの出力を印刷:

<select style="width: 183px;" name="timee" id="timee"> 
<?php 
// make sure to check which values should $timee get 
for ($i = 0; $i <= 24; $i++) { 
    if ($i <= 0) { 
    $timee = $i; 
    } else { 
    $timee = str_pad($i, 2, "0", STR_PAD_LEFT); 
    } 
    ?><option value="<?php echo $timee; ?>"> 
     <?php echo $timee; ?> 
    </option><?php 
} 
?> 
</select> 
+0

彼は連結するべきではありません'$ timee'です。 – Barmar

+0

@Barmarは同意し、OPのコメントを追加して、それが何であるべきか把握しました。 –

0

あなたはドロップで別々のオプションとして各値をしたい場合リストを表示する:

$options = ''; 
$timee = ''; 
for ($i = 0; $i <= 24; $i++) { 
    if($i <= 0) { 
     $timee = $i; 
    }else { 
     $timee = str_pad($i, 2, "0", STR_PAD_LEFT); 
    } 
    $options .= '<option value="' . $timee .'">' . $timee . '</option>';  
} 

echo '<select style="width: 183px;" name="timee" id="timee">' . $options . '</select>'; 

このメソッドは、リストに要素を作成し、出力するのはechoのみです。この方法でコーディングすることは理想的です。これは、サーバーがStdOut呼び出しの束を作るよりも速く情報を処理するため、サーバーの応答をクライアントが表示するのにかかる時間を改善するためです。

+0

'$ timee'に連結すると、それぞれのオプションに前のものがすべて含まれます。 – Barmar

+0

@Barmar opps。それぞれの反復で '$ timee'をクリアするように修正しました。ありがとうございました –

+0

これをクリアする必要はありません。追加するのではなく、普通に割り当ててください。 – Barmar

関連する問題