【发布时间】:2016-06-14 15:20:30
【问题描述】:
我有一个大表格,其中 3 个数组从表格发送到控制器:product_code |数量 |成本。
$id = $request->get('product_code'); // GRAB PRODUCT DATA FROM POST ARRAY
$qty = $request->get('quantity'); // GRAB QUANTITY DATA FROM POST ARRAY
$cost = $request->get('cost'); // GRAB COST DATA FROM POST
所有三个数组的请求输出都在这里:PasteBin
我的问题是我无法弄清楚如何最好地遍历这三个数组中的每一个,以便我可以以正确的顺序将值插入 MySQL。我已经尝试了一个 foreach、一个嵌套的 foreach 和一个 for 循环,但我还没有设法将所有三个值插入到一行中。
我认为 HTML 不是很相关,但这里有一个示例:
<div class="well form-group ">
<div class="col-sm-2 col-md-2">
<label for="nails_staples">Nails & Staples:</label>
</div>
<div class="col-sm-4 col-md-4">
<select class="form-control product_id" name="product_code[10]">
<option selected="selected" value="">None</option>
<option value="8769">1 1/4 Coil Nails - box | $26.00</option>
<option value="6678">2" Hot Dipped Shake Nails | $135.00</option>
</select>
</div>
<div class="col-sm-1 col-md-1">
<label for="nails_req">Quantity:</label>
</div>
<div class="col-sm-2 col-md-2">
<input class="form-control quantity" name="quantity[10]" type="text">
</div>
<div class="col-sm-1 col-md-1">
<label for="cost">Cost:</label>
</div>
<div class="col-sm-2 col-md-2">
<input class="form-control cost" readonly="readonly" name="cost[]" type="text">
</div>
</div>
【问题讨论】:
-
您是要将它们保存到一个字段还是单独的字段中?
-
我猜您在保留数组中的项目顺序时遇到问题。您的
product_code数组看起来像<select>标记,在不同的浏览器中对多项选择进行了奇怪的处理,并且排序顺序可以更改。您能否举一个 3 个数组或整个表单的输入数据示例?也许dd($request);在您的控制器中并将其发布到pastebin? -
@QuickDanger 感谢您查看此内容。我用已编译的 HTML 替换了 HTML,以便您可以更好地看到它。是的,我的问题是 foreach 循环旨在获取一个数组并拆分两个值:键和值。我的问题是我有 3 个数组,它们都带有一个键值对和一个客户 ID,我需要以某种方式重新组装它们,以便我可以对 customer_id | 进行数据库插入。产品编号 |数量 |成本我尝试了所有不同类型的 foreach 循环。我尝试过组合数组,尝试过 for 循环。我就是看不懂。
-
@CanCelik 感谢您查看此内容。我希望在我上面的评论中澄清一些事情。
-
@QuickDanger 现在添加了带有输出的粘贴箱。谢谢!
标签: php mysql arrays multidimensional-array laravel-5