在一个查询

时间:2015-11-06 22:36:49

标签: php mysql foreach sum

我需要知道如何在一个查询中插入多行插入SUM。

我需要将表中已有的值与发票中的新值相加。

这是我的查询(MySql):

        $conn->beginTransaction();
        $sql = "INSERT INTO PRODUCTOS
        (cod, nombreProd, proveedor, existencia, comprado, compra, id_user, nombre, ref_compra, f_compra)
         VALUES ";
        $insertQuery = array();
        $insertData = array();
        foreach ($_POST['cod'] as $i => $cod) {
            $insertQuery[] = '(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
            $insertData[] = $_POST['cod'][$i];
            $insertData[] = $_POST['nombreProd'][$i];
            $insertData[] = $_POST['proveedor'][$i];
            $insertData[] = $_POST['existencia'][$i];
            $insertData[] = $_POST['comprado'][$i];
            $insertData[] = $_POST['compra1'][$i];
            $insertData[] = $_POST['id_user'];
            $insertData[] = $_POST['nombre'];
            $insertData[] = $_POST['ref_compra'];
            $insertData[] = $_POST['fecha'];
        }
        if (!empty($insertQuery)) {
            $sql .= implode(', ', $insertQuery);
            $stmt = $conn->prepare($sql);
            $stmt->execute($insertData);
        }
        $conn->commit();

我需要总结的一行是" existencia"使用" comprado"中的新数据,例如:

如果在DB" existencia"有100件商品,在新发票中还要再购买50件商品" comprado"我怎样才能首先对existencia求和,然后将结果与" comprado"  值?将新总数保存在" existencia"

最诚挚的问候!

1 个答案:

答案 0 :(得分:1)

尝试更改

$insertData[] = $_POST['existencia'][$i];

$insertData[] = ($_POST['existencia'][$i] + $_POST['comprado'][$i]);

如果它们显示为字符串,请使用intval函数。