Сначала я получил следующее:
$sql="SELECT sum(importe_subproyecto) as importe_total FROM presupuestos_pmt WHERE oferta_numero = '$oferta_numero'";
$result = mysqli_query($con,$sql);
while ($row = mysqli_fetch_assoc($result))
{
$importe_total = $row['importe_total'];
}
который хранит сумму «importe_total» в переменной с тем же именем. Тогда есть следующее:
$sql="UPDATE presupuestos_pmt SET `importe_total` = '$importe_total' WHERE `oferta_numero` = '$oferta_numero'";
mysqli_query($con,$sql);
который вводит переменную, вычисленную ранее в интересующих строках.
И наконец,
$rowcount = mysqli_affected_rows($con);
Который считает затронутые строки.
Сценарий работает правильно, когда все поля «importe_subproyecto» больше 0, но row_count возвращает 1, когда одно из полей «importe_subproyecto» равно 0, даже если имеется 3,4,5 … обновленных строк.
Кто-нибудь знает почему?
ПРИМЕР:
При суммировании проекта 0002 это даст число строк 1, потому что одно из полей importe_subproyecto
это 0
Задача ещё не решена.
Других решений пока нет …