【问题标题】:Insert multiple rows SQL from a form with same titles从具有相同标题的表单中插入多行 SQL
【发布时间】:2013-05-27 16:42:19
【问题描述】:

我有这个表单,当您点击“新行”时,会弹出另一个包含新输入的字段。我想用这个实现的是一个用户友好的表单,它 FOREACH "New item" ->

("INSERT 
INTO menues(
    restaurant_id,
    title, 
    subtitle, 
    name, 
    ingredients, 
    price, 
    category, 
    upload_date
    )
VALUES(
    :restaurant_id,
    :title, 
    :subtitle, 
    :name, 
    :ingredients, 
    :price, 
    :category,
    NOW()
    )
");

当添加多行时,每行应具有相同的值(标题,副标题)+餐厅ID和类别的上部字段名称,成分和价格的不同值。

我可以通过什么方式实现这一目标?

形式:

单击“新行”时>>

【问题讨论】:

    标签: php sql sql-insert


    【解决方案1】:

    你可以让你的输入字段返回一个数组:

    <input type="text" name="food_name[]" />
    <input type="text" name="food_ingredient[]" />
    <input type="text" name="food_price[]" />
    

    然后循环遍历结果:

    $name = $_POST["food_name"];
    $ingredient = $_POST["food_ingredient"];
    $price = $_POST["food_price"];
    $length = count($name);
    for($key=0;$key<$length;$key++){
     echo $name[$key] . "<br/>"; 
     echo $ingredient[$key] . "<br/>"; 
     echo $price[$key] . "<br/>";  
     echo "-----<br/>";
    } 
    

    当我遇到你的问题时,我就是这样做的。

    【讨论】:

    • 是的,我也这样做了。为您的输入字段使用一个数组,并遍历结果。完美运行!
    • @NabilGhulam 什么不起作用?你有一些错误代码吗?可能是您的动态插入的输入字段设置不正确。
    • 我只是不知道该怎么做。你如何让查询来计算应该有多少值?我重新发布了这个问题,也许你可以尝试在那里解决它? :) See here - 可能更清楚我想要什么
    【解决方案2】:

    我认为这是一个 php 问题。将表单中的值读入数组。然后运行另一个代码块,使用 for each 构造将数组插入到表中,并使用 sql 语句将数组的元素迭代地插入到表中,直到数组用完。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 2014-04-08
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多