javascript - 如何制作月度报告
问题描述
我正在使用一个可以记录燃料费用的系统项目,来自两个不同表的名为 amount 的属性已经组合在一起,并且列中的总和值已经使用 javascript 编码,但是我需要编写一个函数但我不知道怎么做,这个功能正在显示一个mothly报告,如果我点击一月份,我想显示一月份存储的所有值。
这就是我的 html 表单的构造方式:(这是我希望在按下按钮时出现模式的地方,然后给我一个从 1 月到 2 月的选择)
<div class="panel-body">
<h3 align="center">Withdrawal Per Vehicle</h3>
<p id="demo"></p>
<table id="expense_table"class="table table-striped table-bordered">
<thead>
<tr>
<th>ID</th>
<th>Plate Number</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
<?php foreach($Withdraw as $w): ?>
<?= '<tr>' ?>
<?= '<td class="rowDataSd">' . $w["carid"] . '</td>' ?>
<?= '<td class="rowDataSd">' . $w["reg_num"] . '</td>' ?>
<?= '<td class="rowDataSd">' . $w["amount"] . '</td>' ?>
<?= '</tr>' ?>
<?php endforeach; ?>
</tbody>
</table>
<span id="val"></span>
</div>
这是 SQL 语句如何对来自不同表的所有值求和:
$Withdraw = query("SELECT tbl_vehicle.carid,
tbl_vehicle.reg_num,
IFNULL(tbl_fuel.sum_amount,0) +
IFNULL(tbl_maintenance.sum_amount,0)
AS amount
FROM tbl_vehicle tbl_vehicle
LEFT JOIN
(SELECT carid,
sum(trim(replace(amount, '$', ''))+0) sum_amount
FROM tbl_fuel
GROUP BY carid) tbl_fuel ON tbl_fuel.carid = tbl_vehicle.carid
LEFT JOIN
(SELECT carid,
sum(trim(replace(amount, '$', ''))+0) sum_amount
FROM tbl_maintenance
GROUP BY carid) tbl_maintenance ON tbl_maintenance.carid = tbl_vehicle.carid
WHERE tbl_fuel.sum_amount IS NOT NULL OR tbl_maintenance.sum_amount IS NOT NULL");
这是脚本如何构造以获取列中的总值:
<script type="text/javascript">
var table = document.getElementById("expense_table"), sumVal=0;
for(var i=1;i<table.rows.length;i++){
sumVal=sumVal+ parseFloat(table.rows[i].cells[2].innerHTML);
}
console.log(sumVal);
document.getElementById("val").innerHTML="Total Expenses: " + sumVal;
这就是我在名为 tbl_fuel 的数据库表中插入值的方式。
$result = $_POST["employee"];
$result_explode=explode('|', $result);
$result = query("INSERT INTO tbl_fuel
(employee_id,
carid,
account_id,
trip_date,
invoice,
up_date,
previous,
present,
liter,
amount,
purpose,
code,
attachment,
dateAdded)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
$result_explode[1],
$_POST["platenumber"],
$_POST["account_id"],
$_POST["trip_date"],
$_POST["invoice"],
$_POST["up_date"],
$_POST["previous"],
$_POST["present"],
$_POST["liter"],
$_POST["amount"],
$_POST["purpose"],
$_POST["code"],
$target_file,
date("Y-m-d"));
这是第二个 SQL(我的数据库中的 tbl_maintenance)
$result = $_POST["employee"];
$result_explode=explode('|', $result);
$result = query("INSERT INTO tbl_maintenance
(employee_id,
carid,
account_id,
main_date,
invoice,
up_date,
previous,
present,
particular,
code,
amount,
purpose)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?)",
$result_explode[1],
$_POST["platenumber"],
$_POST["account_id"],
$_POST["main_date"],
$_POST["invoice"],
$_POST["up_date"],
$_POST["previous"],
$_POST["present"],
$_POST["particular"],
$_POST["code"],
$_POST["amount"],
$_POST["purpose"]);
如果您注意到,两个表都具有相同的属性,即 carid 和 amount,我希望它们的值每月显示。这些表的值已经使用上面的第一个 SQL 状态组合在一起。
解决方案
推荐阅读
- python - 键'PRIMARY'的重复条目'0',我不能使用auto_increment,因为值并不总是增加
- angular - Angular:绑定并与数组保持同步
- javascript - 我想制作一个脚本来在用户触摸屏幕后在 WordPress 网站上显示谷歌广告
- javascript - 反应添加 FloatingMenuButton 包解析错误:意外的令牌
- c# - 为什么 Bridge.net 不编译 HashSet
或堆栈 - javascript - 如何使用 Javascript 中的函数加密和解密字符串
- javascript - 我得到第一个参数“电子邮件”必须是一个有效的字符串错误,而firebase身份验证反应
- python - 函数 'cv::cvtColor' 和 Cap.read()' 中的 src.empty() 未读取视频帧
- javascript - cy.readFile 和 cy.fixture 有什么区别?
- discord - 用户执行命令后,如何删除 discord.py 中的消息?