首页 > 解决方案 > 当 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 做到这一点?

标签: javascriptphphtmlcssphp-mssql

解决方案


在每次迭代中,您都在设置$total = 0,因此在每次迭代之后$total++;它会增加,1这就是为什么1每次循环运行时都会得到回显,$total=0在循环外初始化变量,希望它有所帮助。


推荐阅读