2 つのループがあります。1 つはfor
反復を配列に格納するループ、もう 1 つforeach
は配列を反復処理してラジオ グループを各反復値に割り当てるループです。
<?php
$current_val = array();
for($i = 0; $i <= 10; ++$i){
$current_val[$i] = $i;
}
foreach($current_val as $key => $val):?>
<div id="radio_group_<?php echo $val;?>">
<input type="radio" name="name" value="<?php echo $val;?>"/>Name
<input type="radio" name="address" value="<?php echo $val;?>"/>Address
<input type="radio" name="phone" value="<?php echo $val;?>"/>Phone
</div>
<?php endforeach;?>
これは以下を出力します:
<div id="radio_group_0">
<input type="radio" name="name" value="0"/>Name
<input type="radio" name="address" value="0"/>Address
<input type="radio" name="phone" value="0"/>Phone
</div>
<div id="radio_group_1">
<input type="radio" name="name" value="1"/>Name
<input type="radio" name="address" value="1"/>Address
<input type="radio" name="phone" value="1"/>Phone
</div>
etc..
私が望むのは、ユーザーがグループごとに 1 つのラジオと名前ごとに 1 つのラジオのみを選択できるようにすることです。つまり、2 レベルの選択制限です。現時点では、ユーザーは名前ごとに 1 つのラジオしか選択できませんが、グループごとに複数のラジオを選択できます。HTML/PHP でこれを行う方法はありますか? どうにかして 2 つの名前をラジオに割り当てることはできますか? フォームをネストすることも考えていましたが、それは有効な XHTML マークアップではないと思うので、入れたくありません。