セレクトボックスの値をループで繰り返してvalueを設定しているのですがvalueの数が多くなればかなり見づらく
修正もしにくいのでvalue値を配列などで指定したいと思っています。
その場合、どのようにしてvalue値に配列を設定すればよろしいのでしょうか。
また配列でvalueを設定した場合[selected]などで初期値を設定する方法も分からなかったので
何かわかりやすくかつ少ない行数で胥吏できる方法があればご教授お願いします。
<?php
for ($data = 1; $data < 5; $data++)
{
?>
<tr><td>
<select name="test<?php echo $data?>">
<option value=1>1
<option value=2>2
<option value=3>3
<option value=4>4
<option value=5>5
<option value=6>6
<option value=7>7
<option value=8>8
<option value=9>9
<option value=10>10
</select>
<?php
}
?>
※option valueが20とか30とかになるとかなり見づらい処理かなと思います。
配列を変えるだけでいいようにしたいです。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
#2です
デフォ値を指定したいならこんな風にしていもいいかもしれません
<table>
<?php
$defaultvalue=array(1=>1,2=>3,3=>7,4=>10);
for ($i= 1; $i < 5; $i++){
print "<tr><td>\n";
print "<select name=\"test{$i}\">\n";
for ($j = 1; $j <= 10; $j++){
$selected=($defaultvalue[$i]===$j)?" selected":"";
print "<option value=\"{$j}\"{$selected}>{$j}</option>\n";
}
print "</select>\n";
print "</td></tr>\n";
}
?>
</table>
回答ありがとうございます。
初期値の配列が文字の場合や画面初期表示の初期値はAパターン
未入力時はBパターン
比較結果ではCパターンなど初期値がごちゃごちゃになっていました。
ループでの表示と比較の初期値が設定できたので他のパターンの初期値を想定してみます。
ありがとうございます。
No.2
- 回答日時:
valueが1から連続する整数であればこんな感じでやってもよいかと
<table>
<?php
for ($data = 1; $data < 5; $data++){
?>
<tr><td>
<select name="test<?php echo $data;?>">
<?php
for ($i = 1; $i <= 10; $i++){
print "<option value=\"{$i}\">{$i}</option>\n";
}
?>
</select>
</td></tr>
<?php
}
?>
</table>
ただいちいちphpタグに入ったり出たりするくらいなら、一連の流れを
全部一括でやった方がむしろ見やすいと思いますが・・・
<table>
<?php
for ($i= 1; $i < 5; $i++){
print "<tr><td>\n";
print "<select name=\"test{$i}\">\n";
for ($j = 1; $j <= 10; $j++){
print "<option value=\"{$j}\">{$j}</option>\n";
}
print "</select>\n";
print "</td></tr>\n";
}
?>
</table>
なお、デフォルト値の指定など設定したいとかになると少し工夫が必要です
この回答への補足
回答ありがとうございます。
<?php
$select = SelectBox("0","1","2","3","4","5","6","7","8","9","10");
$SelectBox = "<select name=\"selectBoxName\">\n";
for ( $i = 0; $i < count( $SelectBox ); $i++ ) {
$SelectBox .= "\t<option value=\"{$SelectBox[$i]}\">{$SelectBox[$i]}</option>\n";
}
$SelectBox .= "</select>\n";
echo "{$SelectBox}";
?>
こんな風に実装していたのですがselectedでの初期値の設定がphpで作成した時よくわからなかったので
htmlでベタ書きして作成してました。
<option value="0" <?php if($select[$i] == "0") { echo "selected"; } ?>> 0</option>
これだと初期値も取れるのですがvalue値が多いと行も多くなってしまうので
valueのところだけ配列で指定などはできるのでしょうか。
よろしくお願いします。
No.1
- 回答日時:
開始と終了が決まっているなら、
<?php
for ($i=1; $i <= 20; $i++) { printf('<option value="%d">%d</option>' . PHP_EOL, $i, $i); }
?>
の方が配列にするよりもいいんじゃないですかね(配列で要素を20も30も書くのも無駄)。
この回答への補足
回答ありがとうございます
調べましたがいまいちつかめなかったのですが
このソースは何をしているのでしょうか。
ちょっと理解が足らずすみません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
- JavaScript 1度きりではなく、繰り返し、挙動が変わるようにしていただきたいです。 1 2022/07/03 15:50
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
- JavaScript jsでは、'で区切った部分を改行することはできない。〇か×か。 1 2022/06/26 19:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミング言語で、使える...
-
ラジオボタンの値を受け取ってP...
-
オプションボタンの値(value)を...
-
連動させたいセレクトボックス...
-
[Ethna]selectボックスに空値を...
-
複数 selectフォームから今回on...
-
複数のセレクトボックスを1つに...
-
コンボボックス(プルダウン)...
-
【PHP&JavaScript】複数の別ウ...
-
php セレクトボックス 値取得
-
PHPで入力フォームでデータを確...
-
PHP ボタンが押されたら処理を...
-
PHPで画像の渡しが上手く行きま...
-
PEAR auth で認証ができません
-
PHPでURLにジャンプするには?
-
フォームボタンを押すたびに数...
-
【smarty】予約変数に可変変数
-
HTMLで前の画面に戻る時、入力...
-
PHPのエラーの解消法について教...
-
検索時の選択内容を保持する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンとCSVの連動
-
「"」(ダブルクォーテーション)...
-
ラジオボタンの値を受け取ってP...
-
<select>文、foreachと初期値設定
-
phpでのセレクトボックスの値を...
-
複数 selectフォームから今回on...
-
php セレクトボックス 値取得
-
複数のセレクトボックスを1つに...
-
2つのプルダウンメニュから受け...
-
phpでのselect値の取得・表記に...
-
foreachで次の行の値を取得して...
-
ウェブ上で選択した複数行の内...
-
CodeIgniter/set_value()
-
ループ処理
-
連動させたいセレクトボックス...
-
PHP で画面の一部だけを変えたい。
-
phpでカレンダー作成
-
現在時刻を反映させた時刻のプ...
-
プルダウンで選択された値を保持
-
プルダウンリスト(コンボボッ...
おすすめ情報