是否可以使用循环从阵列生成表单上的单选按钮?

时间:2017-11-04 17:51:19

标签: php

我很难尝试使用php创建一个表单,该表单从多维数组中获取信息(此任务不允许使用数据库)来创建购物车功能,如在ebay或amazon上。用户只能选择一个要购买的商品,然后将信息传递给流程中的下一个表单。我试图重新创建我在VB.net中执行的功能,使用嵌套循环生成表单的重复控件,在本例中为单选按钮。

    <?php
                $itemNumber = 0;
                foreach( $items as $item ) {
                    $itemNumber++;
                    echo "<tr height=80px>";

                        //i think the problem is in the nested loop below// 

                        foreach( $item as $key => $value ){
                            $myThumbnail = generateThumbnail("$itemNumber".".jpg");

                            echo "<td width = 50%><input type="radio" name="itemName" id="$itemNumber" value="itemName" setChecked("itemName", "itemName") /></td>";
                            echo "<td width=50%>$myThumbnail</td>";
                        }

                    echo "</tr>";

                }

                ?>

我通过语法检查程序运行了我的代码,但检查程序非常有限。我已经尝试过六天了,找到我的错误。我这班的讲师没有回复任何电子邮件。我已经搜索了stackoverflow和PHPfreaks以寻找可能的解决方案,但我找到的所有选项都使用数据库和/或硬编码所有控件而不是动态创建它们,以便根据需要创建尽可能多的数组。如果需要更多代码,我会根据请求添加。

1 个答案:

答案 0 :(得分:0)

问题是你没有正确转义第一个回音中的引号,试试(使用\转义):

echo "<td width = 50%><input type=\"radio\" name=\"itemName\" id=\"$itemNumber\" value=\"itemName\" setChecked(\"itemName\", \"itemName\") /></td>";

或者,您可以使用连接和'作为字符串:

echo '<td width = 50%><input type="radio" name="itemName" id="' . $itemNumber . '" value="itemName" setChecked("itemName", "itemName") /></td>';