首页 > 解决方案 > 如何使用 php 从日期范围搜索结果中动态回显列数据的总和?

问题描述

我有一个搜索功能,可以根据日期范围搜索显示来自数据库的记录。我想要做的是回显日期范围搜索后显示的“refund_amount”列的总和。我知道如何从数据库中的所有记录中获取总和。我只需要回显日期范围搜索后显示的“refund_amount”列的总和。任何帮助是极大的赞赏。

这是我的代码:

<?php
  include('includes/connect.php');
  if (isset($_GET["status"])) { $status  = $_GET["status"]; } else { $status=0; };
  if (isset($_GET["d1"])) { $d1  = $_GET["d1"]; } else { $d1=0; };
  if (isset($_GET["d2"])) { $d2  = $_GET["d2"]; } else { $d2=0; };
  $result = $connect->prepare("SELECT * FROM rma_list WHERE refund_date BETWEEN :a AND :b");
  $result->bindParam(':a', $d1);
  $result->bindParam(':b', $d2);
  $result->execute();
  for($i=0; $row = $result->fetch(); $i++){
  ?>

  <tr class="record">
  <td><?php echo $row['rma_id']; ?></td>
  <td><?php echo $row['order_date']; ?></td>
  <td><?php echo $row['rma_request_date']; ?></td>
  <td><?php echo $row['rma_number']; ?></td>
  <td><?php echo $row['order_number']; ?></td>
  <td><?php echo $row['so_number']; ?></td>
  <td><?php echo $row['vendor_name']; ?></td>
  <td><?php echo $row['vendor_ra']; ?></td>
  <td><?php echo $row['customer_name']; ?></td>
  <td><?php echo $row['credit_memo_number']; ?></td>
  <td><?php echo $row['refund_amount']; ?></td>
  <td><?php echo $row['refund_date']; ?></td>
  <td><?php echo $row['status']; ?></td>
  </tr>



  <?php
  }
  ?>

标签: php

解决方案


在 PHP 代码中执行此操作

<?php
include('includes/connect.php');
if (isset($_GET["status"])) { $status  = $_GET["status"]; } else { $status=0; };
if (isset($_GET["d1"])) { $d1  = $_GET["d1"]; } else { $d1=0; };
if (isset($_GET["d2"])) { $d2  = $_GET["d2"]; } else { $d2=0; };
$result = $connect->prepare("SELECT * FROM rma_list WHERE refund_date BETWEEN :a AND :b");
$result->bindParam(':a', $d1);
$result->bindParam(':b', $d2);
$result->execute();

// initialise a variable for the counter
$tot = 0;

while ($row = $result->fetch(PDO::FETCH_ASSOC)){
?>
      <tr class="record">
          <td><?php echo $row['rma_id']; ?></td>
          <td><?php echo $row['order_date']; ?></td>
          <td><?php echo $row['rma_request_date']; ?></td>
          <td><?php echo $row['rma_number']; ?></td>
          <td><?php echo $row['order_number']; ?></td>
          <td><?php echo $row['so_number']; ?></td>
          <td><?php echo $row['vendor_name']; ?></td>
          <td><?php echo $row['vendor_ra']; ?></td>
          <td><?php echo $row['customer_name']; ?></td>
          <td><?php echo $row['credit_memo_number']; ?></td>
          <td><?php echo $row['refund_amount']; ?></td>
          <td><?php echo $row['refund_date']; ?></td>
          <td><?php echo $row['status']; ?></td>
      </tr>
<?php

    // accumulate the amount in the new var
    $tot += $row['refund_amount'];
}
?>
    <tr class="totals">
        <td colspan="10"> TOTAL Refund</td>
        <td><?php echo $tot; ?></td>
        <td colspan="2">&nbsp;</td>
    </tr>

表格布局可能需要做一些工作,但我希望你能从这段代码中得到想法


推荐阅读