배열 값 넘기는 방법
본문
이전 write_update.skin에 대해 질문했는데,, 배열값의 문제로 판단되어 다시 질문 올립니다.
write.skin 에서 배열로 값을 전달합니다.
<label>
<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
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){?> ch
ecked="checked" <?}?>>