这是我的问题。我有一个xml文件,就像一个小型数据库。我的php代码遍历xml文件并检索创建表单的信息。例如,xml文件包含有关菜单的信息,用户选择沙拉,然后代码将打印出所有类型的沙拉,然后用户选择他最喜欢的沙拉。实际问题是有不同的部分;大小不一,价格各不相同!
我无法跟踪所选项目...... X(
任何帮助??
这是我的代码:
<?php
foreach ($xml-> CATEGORY as $category)
{
if($_GET['category']==$category["id"])
{
echo "<h3>".$category ["id"]."</h3>";
echo "<br />";
echo "<form method=\"post\" action=\"add.php\">";
foreach ($category -> FOOD as $food) {
echo "<li>";
echo "<b>".$food["name"]."</b>";
echo "<hr>";
echo "</li>";
echo "<select name=\"variations[]\">";
foreach($food -> PRICE as $price)
{
echo "<option value=\"$price\">";
echo "<ul>";
echo $price["size"]. " ";
echo $price;
echo "</ul>";
echo "</option>";
}
echo "</select>";
echo "<input type=\"submit\" value=\"Buy this\">";
}
echo "<br />";
echo "<br />";
}
echo "</form>";
}
?>
购物车看起来像这样
<?php
echo "<br>";
$values = $_POST['variations'];
foreach($values as $value)
{
echo $value;
echo "<br>";
}
?>
上面的代码仅显示有关小商品的价格。不知怎的,大件物品被忽略了!!这段代码实际上并不是我打算做的,但它是一个开始。它应该说:
你选择了大部分的希腊沙拉,价格为10.50英镑。 所以,我应该能够传递三个我不知道的变量:$ price [size],food和$ price ......
感谢您的时间
答案 0 :(得分:0)
如果我理解正确,你只是收到所选尺寸(价格)而不是实际用餐?
两种可能的解决方案:
第一版:
创建一个包含所选餐点的第二个表单字段。 我认为它的优雅和合乎逻辑,如果你有饭菜的复选框,然后单选按钮或大小的列表...所以你可以检查/取消检查膳食,但如果检查你需要选择一个大小...... 你也可以让用户选择价格并用javascript动态选择用餐领域,但我不建议,如果你想要这种用户体验,我会选择vesion two
第二版:
将膳食包含在价格的输入字段值中。 maby由逗号分隔或作为json编码的字符串。 然后当你检索post变量时,你可以拆分/解码......
如果您给我一个工作示例,我可以将其粘贴到文件中并点击它(包括xml对象),我可以快速为您做到这一点......