채택완료

select 질문..

http://sir.co.kr/g4_skin/118518?sfl=wr_subject%7C%7Cwr_content&stx=%EA%B2%BD%EB%A7%A4 

해당 경매스킨 사용중입니다.

​제조년도를 선택하는 항목이 이상하네요..

<select name='ext5_00' style='font-size:12px;width:px;height:px;'>    
     <option value='01' <? if($ext5_00 == 01) echo " selected "; ?>>01</option>
     <option value='02' <? if($ext5_00 == 02) echo " selected "; ?>>02</option>
     <option value='03' <? if($ext5_00 == 03) echo " selected "; ?>>03</option>
     <option value='04' <? if($ext5_00 == 04) echo " selected "; ?>>04</option>
     <option value='05' <? if($ext5_00 == 05) echo " selected "; ?>>05</option>
     <option value='06' <? if($ext5_00 == 06) echo " selected "; ?>>06</option>
     <option value='07' <? if($ext5_00 == 07) echo " selected "; ?>>07</option>
     <option value='08' <? if($ext5_00 == 08) echo " selected "; ?>>08</option>
     <option value='09' <? if($ext5_00 == 09) echo " selected "; ?>>09</option>
     <option value='10' <? if($ext5_00 == 10) echo " selected "; ?>>10</option>
     <option value='11' <? if($ext5_00 == 11) echo " selected "; ?>>11</option>
     <option value='12' <? if($ext5_00 == 12) echo " selected "; ?>>12</option></select> 월

이렇게 월을 선택한뒤 글을 쓰면 제대로 나오는데

수정으로 들어가면 8월, 9월로 작성된 글만 1월로 선택되어서 나옵니다..

​글쓰기 기본도 9월로 되어있고.. 같은 양식으로 된 제조년도는 제대로 잘 나오는데 이유를 모르겠네요.. 

 

01, 02 말고 1,2 로 하니까 수정에서도 제대로 나옵니다.. 이게 무슨 연관이 있을까요?

|

답변 4개 / 댓글 1개

채택된 답변
+20 포인트

PHP 에서는 C 언어와 같이 자료형 선언이 없기 때문에

 

$ext5_00 변수가 문자형인지 숫자형인지 구분되어 있지 않습니다. 

 

따라서 if ($ext5_00 == 01) 로 하시면 숫자형으로 비교하게 됩니다.

 

"01" 을 쌍따옴표로 묶어주지 않았기 때문에 그냥 숫자로 인식하는 것입니다.

 

숫자형으로 비교하게 되면 "01" 은 "1" 과 같게 됩니다.

 

$ext5_00 변수 값은 "01" 이지만 숫자형으로 비교하게 되면 "1" 과 같아지는 것입니다. 

 

if ($ext5_00 == "01") 으로 하시면 문자형으로 비교하기 때문에 이렇게 하시는 것이 맞습니다. 

답변에 대한 댓글 1개

오 감사합니다. 바로 해결됐네요.. 씨에이치넷님과 슈와이님도 감사드립니다.

에헤라디야님 답변을 채택해 주셔서 감사드려요~! ^^

     <option value='08' <? if($ext5_00 == 010) echo " selected "; ?>>08</option>

     <option value='09' <? if($ext5_00 == 011) echo " selected "; ?>>09</option>

01 02 를 숫자로 인식하게 하시 것 같는데요.. 저도 잘 모르겠지만 $ext5_00 값이 01 02 이런식으로 들어가면 '01' '02' 형식으로 if문을 구성해야 하지 않을까 합니다. 

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