sql 배열로 입력된 값을 이번달만 더하기

sql 배열로 입력된 값을 이번달만 더하기

QA

sql 배열로 입력된 값을 이번달만 더하기

본문

 

write.skin 에서 배열로 입력된 값을

list.skin 에서 이번달에 입력된 값만 더해서 출력 하려고 합니다.

 

아래처럼 했는데 ㅠㅠ

에러도 안나오고

출력되는 부분에서 멈춰 버리네요

뭐가 잘못된 걸까요 ? ㅠㅠ

 

 


<?
$ex1_filed = explode("|",$write[wr_1]);
$ext1_00  = $ex1_filed[0];
$ext1_01  = $ex1_filed[1];
$ext1_02  = $ex1_filed[2];
$ext1_03  = $ex1_filed[3];
$ext1_04  = $ex1_filed[4];
?>
<?
$sql_common =" select sum($ext1_04) as tot from write_table where wr_datetime between ";
$sql = "$sql_common '" . date("Y-m-01") . "' and '" . date("Y-m-d",strtotime("last day of this month")) . " 23:59:59'";
$result = sql_fetch($sql);
echo $result['tot'];
?>

이 질문에 댓글 쓰기 :

답변 2

 select sum($ext1_04) as tot from write_table where wr_datetime between 

 

이 문장에서

sum을 하는데

변수의 값이 없거나, 비정상일때 검증이 전혀 알될것 같습니다.

그리고, 

입력된 $ext1_04를 sum 하시는데

select로 할 필요가 있나요?

 

해당 테이블에서 일자기간내의 값을 sum하는것은 쿼리로 하는게 맞지만

변수를 전달해서 where절의 대입값도 아닌

조회할 대상을...

의미없는 조회가 되겠네요

쿼리문 자체도  비정상으로 처리될것 같습니다.

 

넘겨받은 값을 sum하려면

그것도 loop로 하시려면

유진아빠님의 의견대로

$list를 받아서

 

$cnt = count($list);

$sum = 0;

for ($i = 0; $i < $cnt ; $i++) {

    $vars = $list[$i]['wr_1'];

    $sum +=intval($vars[4]);

}

echo $sum;

 

하시면 해결됩니다.

 

답변 감사합니다 꾸벅
말씀 하신대로 했더니 엉뚱한 값이 출력이 됩니다.
wr_1에 text|text||12,000|||  이런식으로 입력된것중 12000을 기간으로(현재달만) 다 뽑아서 각각을 더해서 보여주고 싶은데 잘 안되네요 view 페이지나 write 페이지에 개별로는 잘 나오는데 콤마 때문에 그런건지 ...ㅠㅠ

입력하신 값이
text|text||12,000|||
$vars = explode("|", $list[$i]['wr_1']);
로 변경하시고

$vars[4] 가 아니라  $vars[3] 이 되어야겠네요
0번부터 시작하거든요
그리고, " , "가 들어있다면 제거해야 하니
$sum+=intval(str_replace(",","",$vars[3]));
로 변경하셔야죠

말씀대로 했더니 계산이 제대로 나옵니다 ^^
다만 예상대로 list 된 page 만 sum이 되네요 ㅠㅠ
db에 있는 wr_datetime을 기준으로 wr_1의 4번 배열을 다 덧샘 하는 것인데 역시 sql 쿼리를 쓰면 위에 쓰신 말씀대로 비정상적으로 작동하는것 같네요 ㅠㅠ

해당 소스가 리스트 스킨이라면

$ex1_filed explode("|",$list[$i][wr_1]); 이렇게 변수를 사용하셔야 하고요

쿼리 전에 

echo $sql; 하셔서 쿼리를 찍어보세요

 

답변을 작성하시기 전에 로그인 해주세요.
전체 10,633
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT