ラジオ ボタン フォームからのデータの抽出に問題があります。
次のようになります。
<?php
## color
$stripe = 1;
$att_color=mysql_query("SELECT * FROM product_attributes WHERE products_id ='".$row['products_id']."' AND att_head='colors' AND att_show='1' ORDER BY att_order asc");
if(mysql_num_rows($att_color)!=0)
{
echo "
<table>
<tr>
<td width=\"90%\" align=\"left\" bgcolor=\"#EDEDED\">Color</td>
<td width=\"10%\" align=\"center\" bgcolor=\"#891531\">
<a href=\"#2\" title=\"Yta / Behandling\"><img src=\"images/info.png\"></a>
</td>
</tr>";
while($color_row=mysql_fetch_array($att_color)){
if ($color_row['att_standard'] == 1) { $standard = "checked"; }
echo "
<tr class=".(($stripe++%2==1) ? 'odd' : 'even').">
<td colspan=\"2\" width=\"100%\">
<input name=\"color_name[]\" value=\"".$color_row['att_name']."\" id=\"".$color_row['att_order']."\" type=\"hidden\" />
<input type=\"radio\" name=\"color_selected[]\" id=\"".$color_row['att_order']."\" value=\"".(round($color_row['att_val']*0.85))."\" ".$standard.">
<img src=\"images/colors/".$colorimg."\"> ".$color_row['att_name']."</td>
</tr>";
unset($standard); }
echo "</table>"; }
# END color
?>
許可されるオプションは 1 つだけです。誰かが送信したとき、I* はその行から値と対応する名前を取得する必要があります。しかし、私は foreach 構文を理解できないようです。
if( isset($_POST['submit']) ) {
$c_selected = $_POST['color_selected'];
$c_name = $_POST['color_name'];
foreach($c_selected as $key => $n) {
echo "<br><br>". $c_selected[$key] ." ".$c_name[$key];
}
現在のコードでは正しい値が返されますが、色名が間違っています。(常に最初のオプション)これを機能させるにはどうすればよいですか?