通过xml文件使用多个输入创建单个表单

时间:2010-08-26 11:05:13

标签: php

这是我的问题。我有一个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 ......

感谢您的时间

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你只是收到所选尺寸(价格)而不是实际用餐?

两种可能的解决方案:

第一版:

创建一个包含所选餐点的第二个表单字段。 我认为它的优雅和合乎逻辑,如果你有饭菜的复选框,然后单选按钮或大小的列表...所以你可以检查/取消检查膳食,但如果检查你需要选择一个大小...... 你也可以让用户选择价格并用javascript动态选择用餐领域,但我不建议,如果你想要这种用户体验,我会选择vesion two

第二版:

将膳食包含在价格的输入字段值中。 maby由逗号分隔或作为json编码的字符串。 然后当你检索post变量时,你可以拆分/解码......

如果您给我一个工作示例,我可以将其粘贴到文件中并点击它(包括xml对象),我可以快速为您做到这一点......