문법을 너무 몰라 하나하나 자판 두들기며 익히고 있네요..ㅠㅠ
여분필드 15와 16값이 여부에 따라 출력을 달리 하고 있는데요..
전화번호 필드이다 보니 입력을 안하면 값에 --만 남아 들어가게 되어 이런 식으로 처리하고 있습니다.
만약 15값이 있고 16값이 -- 라면
15만 출력
15값이 -- 고 16값이 있다면
16만 출력
15값과 16값이 있으면
15,16 둘다 출력
15값이 -- 이고 16값이 -- 라면
아무것도 출력하지 않는다
이런 결과가 나와야 하는데 아래 코드를 짜보니 위 세경우는 제대로 출력되었는데
마지막 15,16값이 -- 일때
아무것도 출력이 안되야 하는데 15가 출력이 되더라구요..
어느 부분이 잘못되었는지 고수님들이 가르침 부탁드립니다~
Copy
<? if($view['wr_15'] && $view['wr_16'] == "--") { ?><tr> <td height=30 class=mw_basic_view_title> <?=mandooName(15)?> : <span style="color:#888;"><?=mandooPi(15)?></span> </td></tr>
<? } else if($view['wr_15'] == "--" && $view['wr_16']) { ?><tr> <td height=30 class=mw_basic_view_title> <?=mandooName(16)?> : <span style="color:#888;"><?=mandooPi(16)?></span> </td></tr>
<? } else if($view['wr_15'] && $view['wr_16']) { ?><tr> <td height=30 class=mw_basic_view_title> <?=mandooName(15)?> : <span style="color:#888;"><?=mandooPi(15)?></span> </td></tr><tr> <td height=30 class=mw_basic_view_title> <?=mandooName(16)?> : <span style="color:#888;"><?=mandooPi(16)?></span> </td></tr>
<? } else if($view['wr_15'] == "--" && $view['wr_16'] == "--") { ?>
<? } ?>
답변 2개 / 댓글 1개
채택된 답변
+20 포인트
11년 전
if ~ else if 조건을 잘 따져 보면 되겠지만 어렵게 생각 할 것 없이 방법 자체를 바꾸세요
코드를 저렇게 할 필요가 없습니다
wr_15가 있으면 해당 내용을 출력하고 wr_16이 있으면 그것에 해당하는 내용을 출력하고
둘다 없으면 그것에 해당하는 조건을 출력하는 아주 단순한 방법입니다
쉬운 방법이 있는데 어렵게 할 이유가 없을테죠
아래처럼 해보세요
$wr15= str_replace('-','',trim($view['wr_15']));
$wr16= str_replace('-','',trim($view['wr_16']));
<?if($wr15){?>
<tr>
<td height=30 class=mw_basic_view_title>
<?=mandooName(15)?> : <span style="color:#888;"><?=mandooPi(15)?></span>
</td>
</tr>
<?}?>
<?if($wr16){?>
<tr>
<td height=30 class=mw_basic_view_title>
<?=mandooName(16)?> : <span style="color:#888;"><?=mandooPi(16)?></span>
</td>
</tr>
<?}?>
<?if(!$wr15 && !$wr16){?>
읍따
<?}?>
답변에 대한 댓글 1개
다이어리펜션
11년 전
11년 전
방금 또 몇번 테스트하다가
<? }
else if($view['wr_15'] == "--" && $view['wr_16'] == "--") { ?> 이 구문을 제일 앞으로 돌려<? if($view['wr_15'] == "--" && $view['wr_16'] == "--") { ?> 이렇게 시작하고 나머지 뒤를 <? } else if ... { ?>나머지 내용으로 바꾸니 적용이 됩니다.. 결과적으로 답을 찾아냈는데왜 그런지 설명해주실 고수님 도움이 필요합니다.똥닦고도 찜찜한 기분입니다 ㅠㅠ답변을 작성하려면 로그인이 필요합니다.
이제야 문법의 ㅁ 하나 알아가고 있는 중이라서요...
말씀하신 대로 if~else 지저분하게 안쓰고 trim 하고 replace 로 해결이 되는군요..
나머진 딱 정해진 경우에만 출력하게끔 단순화되구요..
낮은 지식에 한삽 더 올릴 수 있는 기회 감사드립ㄴ디ㅏ ^^