배열 값 넘기는 방법

배열 값 넘기는 방법

QA

배열 값 넘기는 방법

본문

이전 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){?> checked="checked" <?}?>>

 



 

답변을 작성하시기 전에 로그인 해주세요.
전체 59,611
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT