여분필드 변수 질문드립니다. 채택완료

Copy
<?php for ($i=0; $i<count($list); $i++) {if ($list[$i][wr_116] == "1") {?>  wr_116이 1 일 경우 내용  <?php }else if ($list[$i][wr_116] == "1,2") {?> wr_116이 1,2 일 경우 경우 내용 <?php }else if ($list[$i][wr_116] == "1,2,3") {?>  wr_116이 1,2,3 일 경우 내용 <?php }}?>

 

어떤 옵션을 선택하는지에 따라 리스트화면을 다르게 구성해줘야하는데..

현재 wr_116 필드에 옵션이 1|1,2|1,2,3 이렇게 3가지 항목이 있습니다.

문제는 1,2일 경우와 1,2,3일 경우에 1이 계속 나와버립니다.

1이라는 숫자가 중복되어서 그런 것 같은데 딱 그 변수명일때만 나오게 하려면 어떻게해야하나요?

답변 1개

채택된 답변
+20 포인트

좀 잘못 하시는듯 생각이 듭니다.

먼저 explode나 splite함수를 사용하여 배열롤 셋팅후 if조건으로 비요를 해야 맞을 듯합니다.


116항목에 "1|1,2|1,2,3 " 이런 내용이 있다면요..

Copy
<?php for ($i=0; $i<count($list); $i++) { // 먼저 여기서 explode로 |구분자를 기준으로 나눕니다.$arr_wr_116 = explode($list[$i][wr_116],"|"); // $arr_wr_116 <-- 요기에는 배열로 구분된 내용이 셋팅 되어있습니다. if ( trim($arr_wr_116[0]) == "1") {?>   // 배열에 있는 내용을  비교하기 wr_116이 1 일 경우 내용  <?php }else if ( trim($arr_wr_116[1]) == "1,2") {?> wr_116이 1,2 일 경우 경우 내용 <?php }else if ( trim($arr_wr_116[2]) == "1,2,3") {?>  wr_116이 1,2,3 일 경우 내용 <?php }}?>


요렇게 해야 정상적으로 비교됩니다.
즉 구분된 내용을 배열에 셋팅 후 하나씩 비교를 하는 겁니다.

이래야 정상적으로 처리 되겠죠 ^^

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

답변에 대한 댓글 1개

앗 그렇군요 그럼 arr_wr_116필드를 따로 만들어줘야하나요?

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

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

로그인
🐛 버그신고