합계 구하는 법 알려주시면 감사하겠습니다.
본문
g5_sub01_04의 테이블에
글을 등록하면 wr_10값에 소모품의 id값과 소모품의 개수가 저장이 됩니다.
첫번째 소모품 id값 - 소모품 개수 | 두번째 소모품 id값 - 소모품 개수
bbs에 새로운 파일을 만들어서 list화면을 따로 만들었습니다.
이렇게 각각의 소모품의 가격에 개수가 곱해져 가격이 나옵니다.
이 소모품 금액을 리스트 상단에 합계로 나타내고 싶습니다.
----------------------- 소모품 금액이 나오는 리스트의 소스 ------------------------
<?php
$wr_10 = explode("|",$row['wr_10']);
$sum = 0;
for($i=0; $i<count($wr_10); $i++){
if($wr_10[$i]){
list($sup_id, $sup_cnt) = explode("-",$wr_10[$i]); //소모품 아이디와 갯수를 배열로 분리해준다.
//분리한 아이디값과 소모품 테이블에서 비교해 저장된 소모품들의 정보를 불러온다
$sql3 = " select * from g5_write_sub01_04 where wr_id = ".$sup_id." ";
$row3 = sql_fetch($sql3);
$sum = ($row3['wr_content']*$sup_cnt)+$sum;
}
}
echo number_format($sum)."원";
?>
답변 3
for 문 안에서 계산된 각각의 $sum 값의 합계를 구하시려면 아래와 같이 해보세요.
<?php
$wr_10 = explode("|",$row['wr_10']);
$sum = array();
for($i=0; $i<count($wr_10); $i++){
if($wr_10[$i]){
list($sup_id, $sup_cnt) = explode("-",$wr_10[$i]); //소모품 아이디와 갯수를 배열로 분리해준다.
//분리한 아이디값과 소모품 테이블에서 비교해 저장된 소모품들의 정보를 불러온다
$sql3 = " select * from g5_write_sub01_04 where wr_id = ".$sup_id." ";
$row3 = sql_fetch($sql3);
$sum[$i] = str_replace(',','',$row3['wr_content'])*$sup_cnt;
}
}
echo number_format(array_sum($sum))."원";
?>
좀 생각보다 복잡할수 있을거 같기도 한데요..
$sum = ($row3['wr_content']*$sup_cnt)+$sum; <-- 이부분이 좀 문제 있어 보여집니다.
'wr_content'는 내용이 들어가는데..이부분계산이 안될꺼 같은데요..
정수만 들어간다면 문제는 없겠지만. 내용나 테그가 들어가면 계산이 안됩니다.~
계산하는 부분만 잘 보시면 해결할수 있는 문재일듯생각됩니다.
그러시면 'wr_content'만 가지고 한번 계산해서 테스트로 출력해보세요..
잘 계산이되면. 그다음 step으로 업하셔서..디버깅 해보셔요~
$sum = ($row3['wr_content']*$sup_cnt)+$sum; <-- 이부분만 해결되면 실마리가 보이실 겁니다.