채택완료

리스트 여분필드 합계 문의드립니다.

2017-05-04 (목) 23:54:31 3,805

 수입 (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); 


이렇게 추가 했습니다. 이렇게 하면 한줄에 대한 계산은 바르게 나오지만
바로 윗줄의 잔액과 합이 나와야 하는 부분에서 막히네요ㅜㅜ

write.skin.php에서 <?php echo number_format($list[$i-1]['wr_3']+$list[$i]['wr_3']) ?> 이렇게 추가해보니 

 수입 (wr_1)

 지출 (wr_2)

잔액 (wr_3)

 1

 10,000

2,000

8,000 

 2

 5,000

13,000 

 3

3,000

2,000 

이렇게 나와요ㅜㅜ 초록글씨가 수식이 틀린부분인데..

더하기 빼기정도 수식밖에 못쓰니 아무리 고민해봐도 답이 안나와 이렇게 글남깁니다.

위에 있는 테이블처럼 합이 나오게 하려면 어떻게 해야할까요

|

답변 3개 / 댓글 2개

채택된 답변
+20 포인트

for ($i=0, $balance = 0; $i<count($list); $i++) {

    $balance += $list[$i]['wr_1'] - $list[$i]['wr_2']; 

    echo number_format($balance); 

 

답변에 대한 댓글 1개

감사합니다~~~ 덕분에 잘 해결했습니다^^
2017-05-05 (금) 04:50:32

이전글의 잔액(wr_3)에서 수입(wr_1)을 더하고 지출(wr_2)을 빼면 이번글의 잔액(wr_3)이 됩니다.

write_update.skin.php 파일에서

Copy
$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을 저장하지 않고 리스트에서 바로 출력하는 방법이 낫습니다.

답변에 대한 댓글 1개

감사합니다~~!! 말씀해주신것처럼 사용하니 수정시 비용을 바꿔야하는 문제까진 제가 생각을 못했네요ㅜㅜ 조언 감사합니다.

wr_1을 더하면 됩니다.

for 문으로 더할때 $wr_1 += $list[$i]['wr_1'];

 

이렇게 변수를 만들어 넣고(wr_2, wr_3)도 동일하게 하시면 될거같아요

답변을 작성하려면 로그인이 필요합니다.