테스트 사이트 - 개발 중인 베타 버전입니다

배열 값 넘기는 방법 채택완료

쿠츠 11년 전 조회 10,969

이전 write_update.skin에 대해 질문했는데,, 배열값의 문제로 판단되어 다시 질문 올립니다.

 

write.skin 에서 배열로 값을 전달합니다.

</p><p><label> </p><p><input name="wr_2[]" type="checkbox" value="아동" <?php if($condition[0]){ echo "checked=\"checked\""; }?>> 
아동
</label> 
<label> 
<input name="wr_2[]" type="checkbox" value="장년" <?php if($condition[1]){ echo "checked=\"checked\""; }?>> 
장년 
</label>​ 
​

 

write_update.skin 에서 wr_2 값을 어떻게 받아야 할까요?

$_POST[wr_2], $wr_2를 var_dump로 확인해도 값이 "Array"로 나옵니다.

 

제가 알기론 write에서 submit 하는 순간 DB에 값이 넣어지고, write_update에서는 입력된 값의 id에 다시 update 하는 것으로 알고 있습니다.

혹시 write_update에 사용되는 input 변수들이 write 페이지에서 넘어오는게 아닌 DB에 입력된 값을 읽어 오는 것인가요?

(그런것이라면 post 변수가 작동되지 않아야 하는데,,, Array라는 문자열이 들어가 있는게 이상하네요..) 

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

답변 1개

채택된 답변
+20 포인트
11년 전

name="wr_2[]" --> name="wr_2a[]" 처럼 name을 바꾸세요

그리고 처리는 write_update.skin에서 하지말고(이 화일은 삭제)

write_update.head.skin 에서 $wr_2로 변환시켜주기만 하면 update 쿼리문 필요없습니다

 

$wr_2 = implode("|", $wr_2a);

 

그런데 체크박스는 체크하지않으면 값이 넘어가지 않으므로 아래 방법으로는 안됩니다

$condition = explode("|", $write[wr_2]); 이렇게 하고

<?php if($condition[0])<---이렇게 사용하는 것은 불가능 합니다


체크 부분은 아래처럼 하면 됩니다

<input name="wr_2a[]" type="checkbox" value="아동" <?php if($strpos($write[wr_2],'아동') !==false){?> checked="checked" <?}?>>

 



 

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

답변에 대한 댓글 1개

쿠츠
11년 전
답변 감사합니다..
코드가 깔끔해 졌네요...

혹 다른 초보분들이 실수하실것 같아 수정합니다. $strpos가 아닌 strpos로 사용해야 합니다.

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

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

로그인