获取活动记录中的变量总数

Posted

技术标签:

【中文标题】获取活动记录中的变量总数【英文标题】:Get the total of variables in active records 【发布时间】:2016-06-29 21:26:02 【问题描述】:

好的,我有一个名为 $total_bal 的变量,它是由存储在变量 x and y 中的两个查询组成的简单方程的答案

例如

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

$total_bal = $z + $y;

但是我在amount_oneamount_two 中有很多条目。

因为我正在使用 codeigniters 活动记录

我试过了

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

但是这不起作用,知道最好的方法吗?

所以我想办法添加所有$total_balup,更多内容请参阅下面的代码。

<?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; ?>

【问题讨论】:

你是如何设置 $row 的? 也向我们展示您的代码 您想要所有记录的总数还是每条记录的总数?你想要一个总和还是一个计数? 也许是一个 foreach 循环来遍历所有内容?您提供的信息不是很清楚,请执行; var_dump($total_bal); 并与我们分享结果。 @andre3wap 好的,谢谢,我用更多信息更新问题 【参考方案1】:

一种方法是使用累加器变量。以$grandTotal 变量为例。在foreach 之外将其设置为0,在循环的每次迭代中,将$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;?>

【讨论】:

嗯,优雅的我喜欢它,我会尽快尝试并告诉你,我的代码比我发布的语法示例要广泛得多,所以我会尝试整合你的答案,但它看起来好的和有前途的。 +1

以上是关于获取活动记录中的变量总数的主要内容,如果未能解决你的问题,请参考以下文章

Firestore - 如何像我们在sql中所做的那样获取集合中的记录总数[重复]

Firebase 中的记录总数(我啥时候完成计数?)

MSSQLSERVER中如何快速获取表的记录总数

MySQL高效获取记录总数

获取先前记录的总数

分页总数计算,根据总记录数获取分页总数_目标科技