首页 > 解决方案 > 获取下一行中的每一行计数值并进行计算

问题描述

我试图在下一行的开始数据中获取每一行的结束数据。收盘数据有这个计算

收盘=开盘+扣押-(释放+股票回报)

编码:

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

结果我所拥有的和我想要的:

在此处输入图像描述

标签: phpmysqlsqlloopsforeach

解决方案


只需将关闭数据保存在您将在下一个循环中使用的 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>

推荐阅读