первая строка равна нулю в вычислении столбца

0

У меня есть схема расчета, подобная этому

+------------+---------------+-------------+-------------+ 
    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>";
            }

Заранее спасибо за помощь.

  • 0
    Почему это должно быть 50 в первый раз? Вы складываете все эти переменные, и они все установлены в 0 в начале.
  • 0
    Это то, что я прошу решить. Потому что это единственный код, который у меня есть, который сейчас работает, чтобы сделать весь расчет. Я просто средний уровень в php. Наверное, новичок. LOL Можете ли вы помочь, пожалуйста?
Теги:

1 ответ

1
Лучший ответ

Вы используете переменную, прежде чем вычислять ее значение.

Например, давайте посмотрим на эти две строки:

$sourceCash = $totalTwelve + $totalEight + $totalFour + $totalTwo - $totalClaim - $totalCashout;
$totalEight = $totalEight + $objek->eight_percent;

Вы используете значение $totalEight для вычисления $sourceCash, тогда вы обновляете значение $totalEight. На первой итерации значение всех этих столбцов будет равно нулю, поэтому вы показываете нуль.

Вы, вероятно, хотели изменить порядок этих двух строк.

  • 0
    Вот и все. Я до сих пор не знаю, как сделать весь расчет этого. Это лучший код, который я делаю до сих пор. Можете ли вы пересмотреть это, пожалуйста?
  • 0
    Я прошу прощения. Я не знаю, что означало обратное, пока не открою свой словарь. лол, спасибо тебе.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню