用PHP在多行MySQL表上划分数组内容

用PHP在多行MySQL表上划分数组内容,php,mysql,arrays,Php,Mysql,Arrays,我几乎成功地分割了不同的阵列,并在MySQL数据库的表中准备它们,我将解释这种情况: 在主页面上,用户可以添加和删除表中的行。每行的表格都包含以下输入: input1.name = "product[]"; input2.name = "seller[]"; input3.name = "description[]"; input4.name = "quantity[]"; input5.name = "priece[]"; 因此,如果用户在每个数组中插入两行,将包含两种产品的描述,例

我几乎成功地分割了不同的阵列,并在MySQL数据库的表中准备它们,我将解释这种情况:

在主页面上,用户可以添加和删除表中的行。每行的表格都包含以下输入:

input1.name = "product[]";

input2.name = "seller[]";

input3.name = "description[]";

input4.name = "quantity[]";

input5.name = "priece[]";
因此,如果用户在每个数组中插入两行,将包含两种产品的描述,例如:

产品:PS3,PS4 ;

卖家:亚马逊、索尼

说明:100Gb、200Gb

数量:1,2

价格:100200

这是布局表:

问题出现了。我捕获了通过post输入的数据,但我不能将这些数据分布在几行上。我希望您将PS3和PS4分别放入MySQL表的第一行和第二行。到目前为止,数组仅在第一行实例化,然而,通过这种方式,只有一个产品。因此,有必要在数组的适当行中准备每个框。我不知道我是否清楚,但我想实现以下目标:

显然,表中的数据是手动输入的,而不是通过代码输入的。你理解对了吗。 这是我目前用来在不同行上发送多个数组的代码,但它不起作用

if(isset($_POST['sending']))
    {
        if($_POST['sending'] == "save")
        {
            $row_data = array();
            foreach($_POST['sending'] as $key => $value) 
            { 
                $product=mysqli_real_escape_string($con,($_POST['product'][$row]));
                $seller=mysqli_real_escape_string($con,($_POST['seller'][$row]));
                $description=mysqli_real_escape_string($con,($_POST['description'][$row]));
                $quantity=mysqli_real_escape_string($con,($_POST['quantity'][$row]));
                $priece=mysqli_real_escape_string($con,($_POST['priece'][$row]));
                $user=mysqli_real_escape_string($con,($_POST['user'][$row]));
                $row_data[] = "('$product', '$seller', '$description','$quantity', '$priece', '$user')";
            }
                if (!empty($row_data))
                {
                    $sql = 'INSERT INTO test(product,seller,description,quantity,priece,user) VALUES '.implode(',', $row_data);
                    $result = mysqli_query($con, $sql );

                    if ($result)
                    echo 'ADD COMPLETE!: ' . mysqli_affected_rows($con);
                    else
                    echo 'ERROR' ;
                }           
        } // if ($_POST['sending'] == "save")
    } // if (isset($_POST['sending'])) 
}//close method

如果我理解得很好,这就是它应该如何工作的

if(isset($_POST['sending']))
{
    if($_POST['sending'] == "save")
    {
        $row_data = array();
        foreach($_POST['sending'] as $key => $value) 
        { 
            $product=mysqli_real_escape_string($con,($_POST['product'][$row]));
            $seller=mysqli_real_escape_string($con,($_POST['seller'][$row]));
            $description=mysqli_real_escape_string($con,($_POST['description'][$row]));
            $quantity=mysqli_real_escape_string($con,($_POST['quantity'][$row]));
            $priece=mysqli_real_escape_string($con,($_POST['priece'][$row]));
            $user=mysqli_real_escape_string($con,($_POST['user'][$row]));
            array_push($row_data, "('$product', '$seller', '$description','$quantity', '$priece', '$user')");
        }

foreach($row_data as $value){
            if (!empty($value))
            {
                $sql = 'INSERT INTO test(product,seller,description,quantity,priece,user) VALUES '.$value;
                $result = mysqli_query($con, $sql );

                if ($result)
                echo 'ADD COMPLETE!: ' . mysqli_affected_rows($con);
                else
                echo 'ERROR' ;
            }           
    } // if ($_POST['sending'] == "save")
  } // if (isset($_POST['sending'])) 
}//close method

那么,序列化,加上Php弃用的mysql的常见警告,有没有人能给我一个工作示例?什么是$row变量?通过它,我想我可以访问相应的行,但我不确定。代码不起作用。警告:为foreach提供的参数无效:foreach$\u POST['sending']作为$key=>$value为什么?我的错,我刚刚看到它,$\u POST['sending']不是数组,这就是它发出警告的原因。你需要做的是在$i=0的情况下避免每次使用$我终于解决了这个问题。然而,泰克斯寻求支持。