2011-01-04 6 views
0

私が興味を持っているのは、18から75までの範囲のhtmlドロップダウンメニューの数値の範囲を作成することです。私のクライアントは、29から30までの数字の間で、値 ' '、これはデフォルトのオプションです。phpの範囲にランダムな値を挿入することはできますか?

これは必要に応じて表示されませんが、私は周りを遊んで、それが可能かどうかを見ていたと思った。範囲は既に作成されているので、今度は確実に 'Choose'をその中央に挿入する方法を見つけなければなりません。私は関数のマニュアルでGoogle検索とコメントに基づいていくつかのことを試したので、今私はスタックに向っています。アドバイスありがとう!

編集:ここにコードがある...

<?php 
$age = range(18, 75); 
echo ('<select class="dropdown nextPanel" name="age">'); 
    foreach ($age as $option){ 
     echo ("<option value='".$option."'>".$option."</option>"); 
    } 
echo ('</select>'); 
?> 

別の編集:クラップ、私はforeachのを中断しようとしていると仮定します。

答えて

2

したがって、を使用して範囲があり、Chooseを29と30の間に挿入しますか?右$rangeの値29後に '選択してください' を挿入します

$pos = array_search(29, $range); // returns the index of 29 
array_splice($range, $pos+1, 0, array('Choose')); 

あなたがそれが印刷されているときだけそれをしたいならば、あなたはエホドカイの答えを見ることができます。

EDIT

foreach($range as $v) { 
    if($v == 30) { 
     echo "<option value='choose' selected='selected'>Choose</option>"; 
    } 
    echo "<option value='$v'>$v</option>"; 
} 

それは印刷まだ意志この方法:あなたがしたいすべてがオプション番号29の後に「選択」オプションを挿入して、選択のデフォルトオプションとして設定している場合通常のオプションを外しますが、オプション30が出たら、まずデフォルトのchooseオプションを出力し、それを選択済みとしてマークします。

+0

私は問題のない範囲で選択を挿入することができましたが、まだそれをデフォルトオプションとして設定することはできません。私はehudokaiの答えも試したことがあります(私がそれを見たならば明らかな解決策のように見えました)が、私はそれに運がなかったのです。私は何かが間違っていなければならないように感じる。 –

+0

ああ、お詫び申し上げます。私は私の質問に間違っていることを今や認識しています。あなたは正しく答えました - 私が実際にやっていることは、foreach関数に何かを追加しようとしていることです。あなたの答えは本質的に私の質問をどのように表現したかに基づいています。 –

+1

@Steve:具体的に何をしようとしているかの具体的な例については、私の最新の回答を参照してください。 –

1

array_spliceを使用しないでください。

$myarr = range($start, $end); 
array_splice($myarr, round(count($myarr)/2), 0, 'Choose'); 
+0

コメントする必要があります。 – RobertPitt

+0

@RobertPitt答えには、特にコードが含まれています。 – cwallenpoole

+0

オリジナルのコメントにコードが含まれていませんでした – RobertPitt

1
if($rangevalue == 29){ 
    echo "<input value=\"\" selected>Choose</input>"; 
} 

たぶん私は何かが欠けています。

希望すると助かります!

+0

これはうまく動作していませんが、一見すると素晴らしいアイデアのようでした。おそらく私は間違ってそれを実装している...私はもう少し試してみます。提案してくれてありがとう、私はそれを働かせることができれば私はあなたに戻ってきます。 –

関連する問題