크롬80버전 결제 이슈, 영카트5 주요패치 확인!

곡할 노릇이네요..

그누보드5
영카트5
매뉴얼
Q & A
제작의뢰
컨텐츠몰
부가서비스
소모임
커뮤니티
곡할 노릇이네요..

QA

SIR 제작의뢰 - 견적무료/익명보정/호스팅, DB 이전/단기개발. 이젠 ' 의뢰인'이 원하는 '제작자'에게만 연락처를 알릴 수 있습니다.

곡할 노릇이네요..

본문

리스트에서 검색 값을

 

if ($sca || $stx || $t_start || $t_end){

if( strpos($sql_search, 'where')===false) $sql_search =' where '.$sql_search;

$sql = " select sum(wr_16) as total_aaa, sum(wr_8) as total_bbb from $write_table  $sql_search ";

}else{

$sql = " select sum(wr_16) as total_aaa, sum(wr_8) as total_bbb from $write_table ";

}


이렇게 했구요,,물론 제가 한게 아니그,ㅋ 고수께서,,ㅎ

$drow = sql_fetch($sql);
$total_aaa = number_format($drow['total_aaa']);
$total_bbb = number_format($drow['total_bbb']);

이렇게 한뒤

<?php echo $total_aaa?>  <?php echo $total_bbb?>이렇게 하였더나

뒤에 bbb는 검색된 결과의 합계가 2,544,676 이런식으로 정확하게 나오는데
aaa는 이상하게 뒤에 3자리는 짤리고 1,323이렇게만 나오네요
즉 천단위 이상부분에 대해서만 합산되어 나온다는 겁니다.

db에 보니 aaa든 bbb든 1,333,445 이런식으로 잘 들어가 있는데요...
곡할 노릇입니다. 유유

이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 4

채택됨

root님의 답변

wr_8과 wr_16 필드의 데이터유형이 숫자형인지 문자형인지 확인부터 해보세요.

숫자형이라면 모두 정상적으로 나와야 하는 사항인데....

문자형이라면 3자리 이상의 데이타에 ","가 들어가 있는지 확인해보십시오. 

문자형 데이타 필드에 숫자형값을 넣은 상태에서 ","가 들어가 있으면 정상적으로 sum이 되지 않습니다.


주소복사
채택됨
답변의 댓글
민쯩먼저깔게요님의 댓글
알려주신 리플레이스로 하니 깔끔하게 해결되었습니다~ 전설의 루트님~~ㅎ
입력된 값을 db에서 몽땅 컴마 제거하는 방법을 뒤져볼려고 했는데...
제거할 필요는 없기 때문에 알려주신 방법으로 해결되었습니다. 좋은 하루되세요~

평정심님의 답변

정확한 사정은 모르겠지만

더하기 계산에서 문제가 생겼다면 혹시 형변환(Data Type Cast)에 문제가 있을 수 있으니

$total_aaa = number_format((int)$drow['total_aaa']);로 테스트해 보세요. 

주소복사
답변의 댓글
민쯩먼저깔게요님의 댓글
감사합니다~ 그런데 역시 마찬가지네요,,,
내용이나 조건은 동일한 상황인데 뒤에 거는 잘되는데 앞에거는 잘린상태에서 합산되는지 모르겠어요,,ㅋ
실력은 앙되그..미티.

굿어스님의 답변

결과만 봐서는 모를듯요, sum 구문을  제외하고 나오는  sql 직접실행해보세요.

 

select wr_16 as total_aaa,  wr_8 as total_bbb from 테이블명

 

그리고 출력되는 wr_16 의 결과 행들을 보세요. 합산값이 맞는지요.

 

 

 

주소복사
답변의 댓글

고양이망토님의 답변

구문상의 잘못된 부분은 없어보입니다.

 

wr_1 ~ wr_10 그누보드에 기본으로 설정된 필드고 데이타는 문자열인 varchar 형으로 되어있습니다.

wr_16 은 사용자가 임의로 생성한 필드인데요. 일단 데이타 타입부터 확인해보세요.

 

만약 mysql 에 데이타타입이 varchar 인상태에서 1,234,567 이렇게 들어있으면 이건 문자열이기 때문에 sum을 하게 되면 첫번째 , 이후는 무시가 됩니다. 1,234,567이 1로 되는거죠.

 

주소복사
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 87,874 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT