javascript - 当 mssql_query("COMMIT") 成功将数据插入数据库时,在循环 PHP 中求和 $total?
问题描述
我试图$total
在循环中“求和”。
这是完整的代码:
foreach ( $array_permall as $perm ) {
if($lastcheck != "1" && $checkoutlet != 1){
//izin gagal
echo "2";
exit();
}else{
$total = 0;
$sqlIns = "BEGIN TRAN ";
if($lastcheck == "1"){
$sqlIns .= "INSERT INTO T_Absen_Permission (NIK,Reason,Date,AddBy,AddDate) VALUES('".$nik."','PERMISSION ALL','".$tglco."','".$User."',getdate());";
$sqlIns .= "INSERT INTO T_Absen Values('".$nik."','".$long."','".$lat."','".$rid."','".$oid."','CHECK OUT','".$tglco."','PERMISSION By ".$User."');";
}
if($checkoutlet == 1){
$sqlIns .= "INSERT INTO T_Absen_Permission (NIK,Reason,Date,AddBy,AddDate,Note) VALUES('".$nik."','PERMISSION ALL',dbo.GetLastDay(getdate(),'".$nik."'),'".$User."',getdate(),'Permission Outlet');";
}
if(mssql_query($sqlIns)){
mssql_query("COMMIT");
$total++;
}else{
mssql_query("ROLLBACK");
echo "5";
}
}
echo $total;
}
但结果始终是 11111。我想要的结果是:1+1+1+1+1 = 5
我想使用 Final Result 5在 JavaScript 中发出警报。
我怎样才能用 PHP 做到这一点?
解决方案
在每次迭代中,您都在设置$total = 0
,因此在每次迭代之后$total++;
它会增加,1
这就是为什么1
每次循环运行时都会得到回显,$total=0
在循环外初始化变量,希望它有所帮助。
推荐阅读
- asp.net - 使用 Asp.net 成员资格的 Web API
- javascript - 状态不相关时需要生成器函数吗?
- angularjs - 根据动态获取的key获取标签文本
- php - 选择查询不适用于 ajax 文件
- css - 如何删除 iOS Safari 上脚注周围的默认蓝色框?
- c# - System.FormatException'发生在 mscorlib.dll 中,但未在用户代码错误中处理
- javascript - 了解javascript中的几行代码?
- typescript - 打字机生成的类中的自定义代码
- c++ - 具有引用数据成员的结构不是文字类型吗?
- javascript - 使用 src 和 alt 替换图像