Обновление аккаунтов пробного баланса

Я пытаюсь обновить свой чарт-счет, чтобы получить пробный баланс, который указан в таблице чарт-счета.

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

Идея в том, что мне нужно суммировать идентификатор счета по отношению к родителю

здесь то, что я использую, но его только обновление 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());

}

0

Решение

$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());
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]