2016-03-14 7 views
0

Хорошо, у меня есть переменная $total_bal, которая является ответом простого уравнения выполнен из двух запросов, хранящихся в переменных x and yПолучить общее количество переменных в активных записях

, например

$y = $row->amount_one; 
$z = $row->amount_two; 

$total_bal = $z + $y; 

Однако у меня много записей в amount_one и amount_two.

Как я использую codeigniters активных записей

Я попытался

echo $this->db->count_all($total_bal); 

Но эта доза не работает, никакого представления о том, как лучше это сделать?

Итак, после того, как вы добавили все $total_bal вверх, для более подражания моему коду см. Ниже.

<?php 
if (isset($records)) : foreach ($records as $row) : 


    $x = $row->amount_two; 
    $y = $row->ammount_one; 

    $total_bal = $z + $y; 
    ?> 

    <table> 
     <tbody> 
     <tr> 
      <td>amount one</td> 
      <td>amount two</td> 
     </tr> 

     <tr> 
      <td> 
       <?php echo $x;?> 
      </td> 

      <td> 
       <?php echo $y;?> 
      </td> 
      <td> 
       <?php echo $$total_bal;?> 
      </td> 
     </tr> 

<!--  <tr>--> 
<!--   <td>--> 
<!--    --><?php //echo $this->db->count_all('$total_bal'); ?> 
<!--   </td>--> 
<!--  </tr>--> 
     </tbody> 
    </table> 

<?php endforeach; ?> 

<?php else : ?> 
    <h3>You Have No Accounts</h3> 
    <h4>Why No Add A Account?</h4> 
<?php endif; ?> 
+0

Как вы устанавливаете $ row? – SacWebDeveloper

+0

показать нам свой код –

+0

Вы хотите, чтобы общее количество всех записей или каждой записи? Вы хотите получить сумму или счет? – SacWebDeveloper

ответ

1

Один из способов сделать это - использовать переменную аккумулятора. Возьмем, например, переменную $grandTotal. Вы устанавливаете его на 0 за пределами foreach, над каждой итерацией цикла вы добавляете $rowTotal в $grandTotal. В конце концов, когда цикл завершается, у вас есть общее значение всех итоговых строк.

Преимущество этого метода в том, что он не требует дополнительных вызовов в базу данных, и поскольку вы уже перебираете значения для их отображения, их аккумулирование - это минимальная обработка.

<?php if (isset($records)) : ?> 
<table> 
    <thead> 
    <tr> 
     <th>Amount One</th> 
     <th>Amount Two</th> 
     <th>Total</th> 
    </tr> 
    </thead> 
    <tbody> 
    <?php $grandTotal = 0; ?> 
    <?php foreach ($records as $row) : ?> 
    <?php 
     // Add field values to get row total 
     $rowTotal = $row->amount_one + $row->amount_two; 
    ?> 
    <?php 
     // Add row total to grand total 
     $grandTotal += $rowTotal; 
    ?> 
    <tr> 
     <td> 
      <?php echo $row->amount_one;?> 
     </td> 

     <td> 
      <?php echo $row->amount_two;?> 
     </td> 
     <td> 
      <?php echo $rowTotal;?> 
     </td> 
    </tr> 
    <?php endforeach; ?> 
    <tr> 
     <td></td> 
     <td></td> 
     <td><?php $grandTotal; ?></td> 
    </tr> 
    </tbody> 
</table> 
<?php else : ?> 
    <h3>You Have No Account</h3> 
    <h4>Why Not Add An Account?</h4> 
<?php endif;?> 
+0

Хмм, элегантный Мне это нравится, плохо попробуйте это в ближайшее время и сообщите, мой код намного шире, чем пример синтаксиса, который я разместил, поэтому я попытаюсь интегрировать ваш ответ, но он выглядит хорошо и многообещающий. +1 – Beep

+0

Пришлось немного изменить, но это сработало. Спасибо. – Beep

Смежные вопросы