2026, 새로운 도약을 시작합니다.

창피하지만 if문 올려봅니다. 함 봐주심 감사하겠습니다. 채택완료

Paid : Balace 즉 내야할 돈 (wr_17) 값이 0.00 이면 표기

Overdue : 지정 날짜(wr_14)가 오늘 날짜보다 지나버리면 Overdue라고 표기

Unpaind : 상품가격(wr_15)와 내야할 돈(wr_17)이 같으면 표기

Partial : 내야할돈(wr_17)이 0이 아니고 조금이라도 낸 금액, 즉 0보다 크면 표기

Draft : wr_18(활성, 환불, 취소)에 넣어준 값 중에서 환불, 혹은 취소를 했을경우 표기

Copy




                

 

Paid

 

Unpaid

  

  Overdue

  

 Partial

   

  Draft

   

   N/A

   

이렇게 사용하고 있는데 이렇게 해서 써도 되는지 잘 모르겠습니다. 

내야할 돈(wr_17)이 일부 남아있으면서 오늘 날짜가 지나면 Overdue로 띄울려로 하는데 unpaid로 나오네요.. 뭔가가 공식이 틀린것 같은데.. 식을 잘못 썻더니 다 잘못 바뀌기도 하고 그러더라구요.. 그래서 딱 이렇게만 해놨는데 이리 써도 문제가 없을런지요? ㅎㅎ 어느날 갑자기 전혀 생각치도 못했던 곳에서 오류가 날까봐서요.. 한번 검토해주시면 감사하겠습니다. 

답변 3개

채택된 답변
+20 포인트

여러 조건을 한 조건문에 같이 섞어 쓰면서 if, else if 를 사용하면 가독성도 떨어지고 

개발자가 생각한 상황 이외의 경우의 수도 많이 발생합니다. 

조금 번거롭더라도 

if($wr_17==0){

    // 0일경우의 다른 조건 if(....)

}

else if($wr_17>0){

}

이런식으로 구분 지어서 그안에 조건문을 다시 활용하는게 훨씬 좋을것 같아 보입니다. 

그래야 오류가 나도 어느 부분에서 났는지 파악하기 쉬울것 같네요. 

로그인 후 평가할 수 있습니다

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

윗분들의 의견을 참고해서 간단하게 다시 짜봤습니다.

Copy
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

아고 이렇게 까지.. 시간을 내주셔서 감사합니다. 정말로 많은 도움이 되었습니다.

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

조건의 우선순위가 중요 할 것 같습니다.

본문에 적어주신 조건을 확인해봤을 때 다소 복잡한 여러가지의 상황이 나오는걸로 추측됩니다.

따라서 우선순위를 다시 정해주시는게 좋을 것 같습니다.

로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고