채택완료

합산

2018-05-13 (일) 10:35:19 2,586

리스트에서 회원별로 wr_8의 값을 합산하여 출력하려는데

단순히 총합이 아니고 wr_datetime기준으로 올해부터의 wr_8의 값을 합산하려합니다//

어떻게 고쳐야 할지요..

  after '2018-01-01 00:00:00 이건 아니네요,,,ㅋ

그리그 회원별로 뽑아야 하는데...

   
 <?  // 총계
  
            $sumsu1 = sql_fetch(" select sum(wr_8) as sum_wr_8 from $write_table where wr_datetime after '2018-01-01 00:00:00'");
            $suip1 = $sumsu1[sum_wr_8]; // 수입금액합계  
       ?>
  올해 : <?=number_format($suip1)?> 원     
     
     

|

답변 6개 / 댓글 5개

채택된 답변
+20 포인트
Copy
<?  // 총계
      $sql = " select

                      sum(wr_8) as sum_wr_8, 

                      mb_id, 

                      wr_name

                  from $write_table

                  where date(wr_datetime) >= date('2018-01-01')

                  group by mb_id, wr_name

                ";
            $result = sql_query($sql);

            $suip1 = 0;

            while ($row = sql_fetch_array($result)) {
                  $suip1 += intval($sumsu1[sum_wr_8]); // 수입금액합계  

                  echo " 회원 : ".$row['mb_id']."<br/>";

                  echo " 회원별 합 :".$row['sum_wr_8']."<br/>";

            }
       ?>
  올해 : <?=number_format($suip1)?> 원
     

해당게시판에서 글을 작성한 사용자(mb_id 기준)의 올해 글중 wr_8 의 각 합을 도출한 쿼리입니다.

답변에 대한 댓글 2개

2018-05-14 (월) 11:23:00
플래토님 언제나 너무 감사합니다.꾸벅

리스트에 넣으려고 하는데...
각 회원별로 나와야 하는데....
각각의 td에 모든 회원의 값이 출력되어서 어떻게 해야 할지 모르겠습니다.
@민쯩먼저깔게요
리스트에 넣으시려면

이미 Loop 는 수행중이겠네요

그럴경우에는

Loop에서 가져오는 회원의 정보를 추출해서 대입하고
Group by 를 제거해서 사용해야합니다.

리스트에 회원이 Row별로 나온다는 가정하에 다시 설명드리면

1. List 정보를 추출할 쿼리

   1-1. 합산할 값 초기화

2. List가 반복되는 Loop (while 또는 for ) 시작

   2-1. Row별로 처리되는 기존정보

   2-2. 합산할 내용

3. Loop 종료

4. 합산 출력

Copy
<?  // 총계

//1. List 정보를 추출할 쿼리

//   1-1. 합산할 값 초기화

$suip1 = 0;
 

//2. List가 반복되는 Loop (while 또는 for ) 시작

//   2-1. Row별로 처리되는 기존정보

//   2-2. 합산할 내용

          $sql = " select

                      sum(wr_8) as sum_wr_8
                  from $write_table
                  where date(wr_datetime) >= date('2018-01-01')
                      and mb_id = '{$row['mb_id']}' 
                ";
            $sumsu1 =  sql_fetch($result);
            $suip1 += intval($sumsu1['sum_wr_8']); // 수입금액합계  
            echo " 회원별 합 :".$sumsu1['sum_wr_8']."<br/>";

            ?>

//3. Loop 종료

//4. 합산 출력

올해 : <?=number_format($suip1)?> 원    

?>
 

이렇게 되겠네요

답변에 대한 댓글 1개

2018-05-14 (월) 13:55:34
감사합니다. 프로그래머들께서 하실 수 있는 내용이군요,,
제가 단순 이용자일뿐이라..엄두가 안나요,,ㅎ

$sumsu1 = sql_fetch(" select sum(wr_8) as sum_wr_8 from $write_table where wr_datetime > '2018-01-01 00:00:00' and mb_id='$member[mb_id]' ");

답변에 대한 댓글 1개

2018-05-13 (일) 20:49:35
늘 감사드려요~. 다 나온거 같은데 초짜라 적용을 못하겠네요,,ㅋ

group by 검색

$con=mysql_connect("localhost","아이디","비밀번호");

mysql_select_db("db이름(주로 아이디)");

$query=" select sum(원하는 필드명)  from  테이블명  ";

$result=mysql_query($query,$con);

$haap=mysql_result($result,0,0);

echo "$haap";     //    원하는 필드의 총레코드에 저장된 숫자  합산,합계

mysql_close($con);

?>

[출처] php mysql db 레코드 총합계 합산 구하기|작성자 해피데이

답변에 대한 댓글 1개

멋진 설명입니다.
알고있는 내용도 그림으로 보니 한번더 정리가 되네요.
감사합니다.

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