php - 获取下一行中的每一行计数值并进行计算
问题描述
我试图在下一行的开始数据中获取每一行的结束数据。收盘数据有这个计算
收盘=开盘+扣押-(释放+股票回报)
编码:
<table class="table table-hover" id="tblData">
<thead>
<tr class="tableizer-firstrow">
<th>Date</th>
<th>Opening</th>
<th>Seized</th>
<th>Release</th>
<th>Stock Return</th>
<th>Closing </th>
</tr>
</thead>
<tbody>
<?php
$query_monthly_report = $this->db->query("SELECT DATE_FORMAT(seized_date,'%Y-%m') as 'Seized_Date',
sum(case when seized_remarks = 'Temporary Seized' then 1 else 0 end) AS seized,
sum(case when (DATE_FORMAT(release_date, '%Y-%m') BETWEEN '$start_m2' AND '$end_m2') then 1 else 0 end) AS released,
sum(case when (DATE_FORMAT(stock_return_date, '%Y-%m') BETWEEN '$start_m2' AND '$end_m2') then 1 else 0 end) AS stock_return
FROM mahindra
where
(DATE_FORMAT(seized_date, '%Y-%m') BETWEEN '$start_m2' AND '$end_m2')
GROUP BY DATE_FORMAT(seized_date,'%Y-%m')");
foreach ($query_monthly_report->result() as $row){
$opening = 0;
$seized = $row->seized;
$released = $row->released;
$stock_return = $row->stock_return;
$closing = $opening + $seized - $released - $stock_return;
echo "
<tr>
<td>".$row->Seized_Date."</td>
<td>".$opening."</td>
<td>".$row->seized."</td>
<td>".$row->released."</td>
<td>".$row->stock_return."</td>
<td>".$closing."</td>
</tr>
";
//echo $_SESSION["opening"] = $closing;
}
?>
</tbody>
结果我所拥有的和我想要的:
解决方案
只需将关闭数据保存在您将在下一个循环中使用的 PHP 变量中。试试下面的代码:
<table class="table table-hover" id="tblData">
<thead>
<tr class="tableizer-firstrow">
<th>Date</th>
<th>Opening</th>
<th>Seized</th>
<th>Release</th>
<th>Stock Return</th>
<th>Closing </th>
</tr>
</thead>
<tbody>
<?php
$query_monthly_report = $this->db->query("SELECT DATE_FORMAT(seized_date,'%Y-%m') as 'Seized_Date',
sum(case when seized_remarks = 'Temporary Seized' then 1 else 0 end) AS seized,
sum(case when (DATE_FORMAT(release_date, '%Y-%m') BETWEEN '$start_m2' AND '$end_m2') then 1 else 0 end) AS released,
sum(case when (DATE_FORMAT(stock_return_date, '%Y-%m') BETWEEN '$start_m2' AND '$end_m2') then 1 else 0 end) AS stock_return
FROM mahindra
where
(DATE_FORMAT(seized_date, '%Y-%m') BETWEEN '$start_m2' AND '$end_m2')
GROUP BY DATE_FORMAT(seized_date,'%Y-%m')");
$opening = 0;
foreach ($query_monthly_report->result() as $row){
$seized = $row->seized;
$released = $row->released;
$stock_return = $row->stock_return;
$closing = $opening + $seized - $released - $stock_return;
echo "
<tr>
<td>".$row->Seized_Date."</td>
<td>".$opening."</td>
<td>".$row->seized."</td>
<td>".$row->released."</td>
<td>".$row->stock_return."</td>
<td>".$closing."</td>
</tr>
";
$opening = $closing;
//echo $_SESSION["opening"] = $closing;
}
?>
</tbody>
推荐阅读
- css - 为什么将“过滤器”应用于 DOM 元素会破坏任何具有“位置:固定”的子元素
- typescript - 当我使用 webpack 和 ts-loader 构建项目时,Typescript 环境模块未解析
- c++ - 哈希映射是如何在 C++ 中实现的?
- sql - 如何从子查询更新表
- html - 静态 django css 文件未加载
- r - 在 Shiny 中单击按钮后如何打开新表单
- json - 如何使用 react-i18next 使用 .map() 翻译对象数组中的数据
- mongodb - 是否可以对聚合管道中的每个文档应用不同的聚合投影?
- javascript - Plotly.js multiple subplots not working as expected
- java - 使用@JsonFormat时,带有继承和对象列表的json中的无效对象序列化