리스트 여분필드 합계 문의드립니다.
본문
|
수입 (wr_1) |
지출 (wr_2) |
잔액 (wr_3) |
1 |
10,000 |
2,000 |
8,000 |
2 |
5,000 |
|
13,000 |
3 |
|
3,000 |
10,000 |
안녕하세요.
php 초보라 혼자 이것저것 시도해보다 문의드립니다.
위 형태처럼 출력하고 싶어서
잔액 부분은 write_update.skin.php에서
$wr_3 = ($wr_1 - $wr_2);
$sql = "update $write_table set wr_3='$wr_3' where wr_id='$wr_id'";
sql_query($sql);
|
수입 (wr_1) |
지출 (wr_2) |
잔액 (wr_3) |
1 |
10,000 |
2,000 |
8,000 |
2 |
5,000 |
|
13,000 |
3 |
|
3,000 |
2,000 |
이렇게 나와요ㅜㅜ 초록글씨가 수식이 틀린부분인데..
더하기 빼기정도 수식밖에 못쓰니 아무리 고민해봐도 답이 안나와 이렇게 글남깁니다.
위에 있는 테이블처럼 합이 나오게 하려면 어떻게 해야할까요
답변 3
for ($i=0, $balance = 0; $i<count($list); $i++) {
$balance += $list[$i]['wr_1'] - $list[$i]['wr_2'];
echo number_format($balance);
wr_1을 더하면 됩니다.
for 문으로 더할때 $wr_1 += $list[$i]['wr_1'];
이렇게 변수를 만들어 넣고(wr_2, wr_3)도 동일하게 하시면 될거같아요
이전글의 잔액(wr_3)에서 수입(wr_1)을 더하고 지출(wr_2)을 빼면 이번글의 잔액(wr_3)이 됩니다.
write_update.skin.php 파일에서
$prev = sql_fetch("
SELECT *
FROM `{$write_table}`
WHERE `wr_is_comment` = 0 AND `wr_num` < '{$wr_num}'
ORDER BY `wr_num` DESC, `wr_reply` DESC
LIMIT 1
");
$wr_3 = $prev['wr_3'] + $wr_1 - $wr_2;
sql_query("
UPDATE `{$write_table}` SET
`wr_3` = '{$wr_3}'
WHERE `wr_id` = '{$wr_id}'
");
ps. 수정이나 삭제가 발생할 수 있다면 wr_3을 저장하지 않고 리스트에서 바로 출력하는 방법이 낫습니다.
!-->