php - 如何使用 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
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"> </td>
</tr>
表格布局可能需要做一些工作,但我希望你能从这段代码中得到想法
推荐阅读
- sql - PetaPoco {“'@0' 附近的语法不正确。”} CTE
- c# - 我们可以在 .NET 中安全地执行核心亲和力吗?
- ruby - 如何通过 Twitter API https://api.twitter.com/1.1/direct_messages/events/new.json 发送新的直接消息?
- html - 在中间对齐字体真棒图标
- ios - 在 ios 应用程序之间共享数据
- batch-file - 批处理以扫描文件中的字符串并在所有出现的情况下获取上面的行,然后> output.txt
- apache-kafka - 没有从 ksql 查询中得到结果
- ios - 由于信号分段错误,命令失败 11 Xcode 9 - iOS 模拟器
- angular - 在 JSON 中转换对象数组元素
- react-native - setState 第二次出错后导航到另一个页面