我需要知道如何在一个查询中插入多行插入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"
最诚挚的问候!
答案 0 :(得分:1)
尝试更改
$insertData[] = $_POST['existencia'][$i];
到
$insertData[] = ($_POST['existencia'][$i] + $_POST['comprado'][$i]);
如果它们显示为字符串,请使用intval函数。