채택완료

넘버포맷 질문 드립니다.

2016-01-08 (금) 02:15:47 6,031

안녕하세요. 제가 보드 스킨에

<td style="text-align:right;">$<?php echo number_format($list[$i][wr_3], 2); ?></td>
<td style="text-align:right;">$<?php echo number_format($list[$i][wr_4], 2); ?></td>
<td style="text-align:right;">$<?php echo number_format($list[$i][wr_5], 2); ?></td>

이렇게 3개의 필드에 숫자(가격)를 넣어서 리스트 페이지에서 값을 불러왔습니다.

그런데 3개 필드중에서 가격이 안들어가는 곳도 있는데 가격이 0이라도 안들어가면

$Warning: number_format() expects parameter 1 to be double, string given in /home/stour/public_html/member/skin/board/ledger/list.skin.php on line 199


이렇게 메시지나 리스트 페이지에서 나옵니다.

필드에 값이 없으면 자동으로 0 값을 넣도록 할 수 없을까요? 그래서 위의 메세지가 안나오게요..

고수님들 부탁 드립니다.


|

답변 2개

채택된 답변
+20 포인트

number_format의 경우 0 이거나 값이 없을 경우 0으로 인식해서 출력을 해줍니다. 

아마 다른부분이 에러이지 않을까 합니다. 예상으로는 $i 값이 배열을 넘어서 접근했을것 같습니다. 

그래도 우선 요청하신 부분은 

<?php echo number_format($list[$i][wr_5], 2); ?> 부분을 

<?php if($list[$i][wr_5]) echo number_format($list[$i][wr_5], 2); else echo "0.00" ?>

이런식으로 수정하시면 될 듯 합니다. 테스트 한번 해보세요

필드에 값이 없으면 자동으로 0 값을 넣도록 -->

number_format 사용전에 추가

if(!$list[$i][wr_3]) $list[$i][wr_3] =0;

if(!$list[$i][wr_4]) $list[$i][wr_4] =0;

if(!$list[$i][wr_5]) $list[$i][wr_5] =0; 

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