Php 单选按钮数组获取选定值和相关内容(相同id的隐藏元素)

Php 单选按钮数组获取选定值和相关内容(相同id的隐藏元素),php,arrays,foreach,Php,Arrays,Foreach,我在从单选按钮表单提取数据时遇到问题 看起来是这样的: 只有一个选项是允许的。 当有人点击submit*时,我需要从该行获取值和相应的名称。 然而,我似乎无法理解foreach语法 if(isset($_POST['submit']){ $c_selected=$_POST['color_selected']; $c_name=$_POST['color_name']; foreach($c_选择为$key=>$n){ 回显“”$c_已选择[$key]。”.$c_名称[$key]; } 当

我在从单选按钮表单提取数据时遇到问题

看起来是这样的:


只有一个选项是允许的。 当有人点击submit*时,我需要从该行获取值和相应的名称。 然而,我似乎无法理解foreach语法

if(isset($_POST['submit']){
$c_selected=$_POST['color_selected'];
$c_name=$_POST['color_name'];
foreach($c_选择为$key=>$n){
回显“

”$c_已选择[$key]。”.$c_名称[$key]; }
当前代码为我提供了正确的值,但颜色名称错误。(始终为第一选项) 我怎样才能让它工作呢?

它坏了:

<input type=\"radio\" name=\"color_selected[]\" id=\"".$color_row['att_order']."\" value=\"".(round($color_row['att_val']*0.85))."\" ".$standard.">

 name=\"color_selected[]\" should not be an array. 
所以单选按钮的值应该是颜色,而不是物品的成本。 除非每种颜色的价格不同,否则应使用项目的值创建另一个隐藏字段

我认为问题更复杂,因为您试图发送订单数组,而不是简单的表单或其他东西。如果是这种情况,可能您必须重新考虑您的方式

您似乎有一个products id字段,它对于每种颜色都应该是唯一的,并且可以在另一端用于从数据库获取所有数据值

<input name=\"att_order\"
       value=\"".$color_row['att_order']."\" 
       type=\"hidden\" />
<input type=\"radio\" 
       name=\"color_selected\" 
       value=\"".$color_row['products_id']."\" 
       ".$standard.">


只是旁注:请改进代码的样式您的foreach循环应该如下所示:
foreach($key=>$n){print(


“$n.”“$c_name[$key]);}
,首先,价格是唯一的,我需要从数据库中的同一行获取名称,因此如果我选择红色值为1740,名称为“红色”我需要结果是红色的:1740。我认为将color_selected[]设置为数组,然后对整个输出进行排序可能会使我从数组中排除,因为数组中没有设置所有属性(因为color_selected是唯一唯一的),因为它们具有相同的顺序id
<input name=\"att_order\"
       value=\"".$color_row['att_order']."\" 
       type=\"hidden\" />
<input type=\"radio\" 
       name=\"color_selected\" 
       value=\"".$color_row['products_id']."\" 
       ".$standard.">