php - 试算表更新账户

标签 php mysql accounting

我希望更新我的账户表以获得试算表,我在账户表中的内容

Id             parent         Debit          Credit

1
10              1              
101             10
1011            101                          30
101121231       1011          40
101134121       1011          20

我需要表格看起来像这样

Id             parent         Debit          Credit

1                             60             30
10              1             60             30
101             10            60             30
1011            101           60             30
101121231       1011          40
101134121       1011          20

这个想法是我需要将相对于父级的帐户 ID 相加

这里正在使用什么,但它只是更新 1 条记录

    $select2="SELECT sum(debit),sum(credit),parent
                    FROM chartofaccount
                    group by parent
                    ORDER BY parent DESC";
    $run2=mysql_query($select2,$con);
    if(!$run2)die("ERROR22".mysql_error());

    for($counter=0;$row1=mysql_fetch_array($run2);$counter++){

        $parentid=$row1[2];
        $update3="UPDATE chartofaccount
                    SET debit='$row1[0]',
                        credit='$row1[1]'
                        WHERE Id='$parentid'";
        $run3=mysql_query($update3,$con);
        if(!$run3)die("ERROR1".mysql_error());

    }

最佳答案

$select2="SELECT Distinct(parent) FROM chartofaccount
                            ORDER BY parent DESC";
            $run2=mysql_query($select2,$con);
            if(!$run2)die("ERROR22".mysql_error());

            for($counter=0;$row1=mysql_fetch_assoc($run2);$counter++){

                $parentid=$row1['parent'];

                $select3="SELECT sum(debit),sum(credit),parent
                            FROM chartofaccount
                            WHERE parent='$parentid'
                            group by parent";
                $run3=mysql_query($select3,$con);
                if(!$run3)die("ERROR22".mysql_error());

                for($counter=0;$row2=mysql_fetch_array($run3);$counter++){

                        $parentidz=$row2[2];

                            $update3="UPDATE chartofaccount
                                        SET debit='$row2[0]',
                                            credit='$row2[1]'
                                            WHERE Id='$parentidz'";
                            $run4=mysql_query($update3,$con);
                            if(!$run4)die("ERROR1".mysql_error());
                }
            }

关于php - 试算表更新账户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33886434/

相关文章:

php - 如何将两个变量组合到另一个变量中?

mysql - 如何根据select结果插入mysql表

mysql - 如果满足每个条件的一个条件,则列出所有值

java - 我是否应该设计一个包含领域事件的会计系统?

python - OpenERP 7,会计模块

sql - 计算销货成本

php - 将日期插入具有三个字段的数据库 PHP SQL

PHP 只读取一个 $_POST 值

mysql - 如何在单个选择中返回多个值

php - 最后插入 id 值存储到同一个表的另一个特定列