У меня есть схема расчета, подобная этому
+------------+---------------+-------------+-------------+
Name IN OUT SALDO
+------------+---------------+-------------+-------------+
Cash 8% $50 - $50
Cash 4% $20 - $70
Cash 12% $70 - $140
Claimed - $60 $80
Claimed - $20 $60
+------------------------------------------+-------------+
TOTAL SALDO $60
+------------------------------------------+-------------+
Таблица выше - это то, что я ожидаю. Однако это результат, который я получил сейчас:
+------------+---------------+-------------+-------------+
Name IN OUT SALDO
+------------+---------------+-------------+-------------+
Cash 8% $50 - 0
Cash 4% $20 - $50
Cash 12% $70 - $70
Claimed - $60 $140
Claimed - $20 $80
+------------------------------------------+-------------+
TOTAL SALDO $60
+------------------------------------------+-------------+
Проблема в том, что он дает 0 saldo в первом ряду, даже если вычисление является правильным.
Вот мой полный код
if ($saldo->num_rows > 0) {
while($objek = $saldo->fetch_object()) {
$i++;
if ($objek->eight_percent)
{
$sourceCash = $totalTwelve + $totalEight + $totalFour + $totalTwo - $totalClaim - $totalCashout;
$totalEight = $totalEight + $objek->eight_percent;
echo "<tr>
<td>Cashback 8%</td>
<td> - </td>
<td>".$sourceCash."</td>
</tr>";
}
Заранее спасибо за помощь.
Вы используете переменную, прежде чем вычислять ее значение.
Например, давайте посмотрим на эти две строки:
$sourceCash = $totalTwelve + $totalEight + $totalFour + $totalTwo - $totalClaim - $totalCashout;
$totalEight = $totalEight + $objek->eight_percent;
Вы используете значение $totalEight
для вычисления $sourceCash
, тогда вы обновляете значение $totalEight
. На первой итерации значение всех этих столбцов будет равно нулю, поэтому вы показываете нуль.
Вы, вероятно, хотели изменить порядок этих двух строк.