从mutlidimensional输入表单

时间:2015-08-31 17:37:42

标签: php mysql arrays database multidimensional-array

我想知道从多维表单将数据插入数据库的最佳方法是什么。我的表单输入的名称如下所示:

name="order[][quantity]"
name="order[][description]"
name="order[][article]"
name="order[][price]"
name="order[][tax]"
name="order[][discount]"

如何将此数据插入我的数据库?以下是我的表格图片:

enter image description here

正如您所看到的,用户可以添加许多部分,所有部分都由一个提交按钮处理。订单数量是一个变量。

如何解决此问题?

2 个答案:

答案 0 :(得分:2)

我假设是......

SomePage.php

<input type='text' name='quantity[]'>
<input type='text' name='description[]'>
<input type='text' name='article[]'>
<input type='text' name='price[]'>
<input type='text' name='tax[]'>
<input type='text' name='discount[]'>

<强> Submit_Some_Page.php

<?
extract($_POST);

$TotalArticle=sizeof($article);

for($i=0;$i<$TotalArticle;$i++)
{
    $Article=$article[$i];
    $Quanity=$quantity[$i];
    $Price=$price[$i];
    $Tax=$tax[$i];
    $Discount=$discount[$i];
    $Description=$description[$i];

    <-- Now, Write Insert Query Here..
    $Query="INSERT INTO TableName SET Col1Name=$Article,Col2Name=$Quanity,Col3Name=$Price,Col4Name=$Tax,Col5Name=$Discount,Col6Name=$Description";
      ..... Write Mysql Query To Execute It
}
?>

答案 1 :(得分:1)

您必须为PHP定义要遵循的数组。换句话说,你不能使用空键,你需要自动编号

name="order[0][quantity]"
name="order[0][description]"
name="order[0][article]"
name="order[0][price]"
name="order[0][tax]"
name="order[0][discount]"

然后做order[1]