【问题标题】:Post array from form to update mysql table从表单发布数组以更新 mysql 表
【发布时间】:2013-03-12 17:19:30
【问题描述】:

我有一个表格,用于更新 mysql 表中的库存水平。我发布的三个字段是:

lst_product_id[]
txt_quantity[]
txt_cost[]

我可以很容易地做到这一点来更新一种产品,但是,我希望通过添加更多输入字段来一次更新多个产品。

为此,我添加了另外一行三个输入字段(与上面相同)并将 [] 方括号放在所有六个后面以创建一个数组。

这就是一切都变成梨形的地方,谁能告诉我当我发布到插入页面并更新表格时如何拾取数组。

我正在使用 mysqli 扩展,我真的迷路了。提前致谢。 大卫

【问题讨论】:

  • 我没有代码可以显示,因为我被难住了,我想我需要从 foreach($_POST['lst_product_id'] as $value) 开始,然后不知何故将下一个字段分配给数组等。然后我怀疑我需要计算要更新的记录循环的数量。我可以用一个简单的例子来做

标签: mysql arrays


【解决方案1】:

你在正确的轨道上。这是一个简单的示例,希望能帮助建立连接...

<?php
$post = $_POST;
?>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
</script>
</head>
<body>
<form method="post">
    <input name="id[1]" value="1" />
    <input name="quantity[1]" value="2" />
    <input name="cost[1]" value="100" />
    <input name="id[3]" value="3" />
    <input name="quantity[3]" value="1" />
    <input name="cost[3]" value="250" />
    <input name="id[8]" value="8" />
    <input name="quantity[8]" value="12" />
    <input name="cost[8]" value="25" />
    <br />
    <input type="submit" />
</form>
<pre>
<?php print_r($post); ?>
</pre>
</body>
</html>

提交表单后,您将看到您必须使用的发布数据的格式。放在方括号 [] 中的值应该是 id,以便您可以正确匹配成本和数量。像这样……

foreach ($post['id'] as $id) {
    $cost = $post['cost'][$id];
    $quantity = $post['quantity'][$id];

    //do something with each
}

【讨论】:

  • 谢谢 Marc,我会尝试一下,让您知道我的进展情况,我将继续这样做,以便更好地了解数组。大卫
猜你喜欢
  • 2012-07-27
  • 2011-09-03
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-16
  • 1970-01-01
相关资源
最近更新 更多