안녕하세요 제발 부탁드립니다 chechkbox 배열 db 저장방법입니다ㅠㅠ

안녕하세요 제발 부탁드립니다 chechkbox 배열 db 저장방법입니다ㅠㅠ

QA

안녕하세요 제발 부탁드립니다 chechkbox 배열 db 저장방법입니다ㅠㅠ

본문

write.skin.php에

 <input type="checkbox" name="wr_10[]" value="1" class="frm_input" > ㄱㄱ
       <input type="checkbox" name="wr_10[]" value="2" class="frm_input" >ㄴㄴ
       <input type="checkbox" name="wr_10[]" value="3" class="frm_input" >ㄷㄷ
       <input type="checkbox" name="wr_10[]" value="4" class="frm_input" >ㄹㄹ

로 체크박스를 만들고

write_update.skin.php 엔

 

$wr_10=implode(",", $_POST['wr_10']);
sql_query("UPDATE ".$write_table." SET wr_10 = '".$wr_10."' WHERE wr_id = ".$wr_id);
이렇게 줬는데요 db에 저장이안됩니다ㅠㅠ 제발 도움좀주세요

 

저장이된후에는 list.skin.php 에

값이 이 있으면  " O " 이렇게 표현하고싶은데 그것도 알려주시면 대단히감사하겠습니다ㅠㅠ

형님들 도와주십쇼행님들

이 질문에 댓글 쓰기 :

답변 3

일단 개발자 도구로  wr_10 POST 값으로 제대로 넘어갔는지 부터 확인하시는게 순서겠네요

배열만 제대로 넘어갔으면 별 문제 없을거 같은데요?

이제 array 로 넘어갔습니다!!!
 근데 write update skin 파일을

<?

$wr_10 = implode( '|', $_POST['wr_10']);
sql_query("UPDATE {$write_table} SET wr_10 = '{$wr_10}' WHERE wr_id = '{$wr_id}'");

?> 로하니 view 페이지로 넘어가질않네요 ㅠㅠㅠ

array로 들어갔으면  list.skin.php 에서 어떻게 소스를주면될까요ㅠㅠㅠㅠㅠ

그냥 빈화면 이라면  php 문법 오류입니다.
한줄한줄 지웠다가 다시 써가며 어느줄이 오류인지 찾아야죠

print_r 해서 배열이 나오는건 어떻게 확인하신건가요?

<?php

$wr_10 = implode('|',$_POST['wr_10']);
sql_query("UPDATE {$write_table} SET wr_10 = '{$wr_10}' WHERE wr_id = '{$wr_id}'");

?>
이렇게하니 다시 wr_10값이 들어가진않지만
작성완료시 view 화면으로 넘어갑니다ㅠㅠ 문법체크기로 체크해봤는데 틀린건없었구요ㅠㅠ


<?php
$wr_10 = implode('|',$_POST['wr_10']);
$sql = "UPDATE {$write_table} SET wr_10 = '{$wr_10}' WHERE wr_id = '{$wr_id}'"; 
echo print_r($wr_10);
echo print_r($sql);
//sql_query($sql);
?>


이렇게 해서 결과를 보여줘바요

php에서 체크박스의 name이 같은경우, 

결과값(wr_10)을 배열로 인지하기때문에, array가 나올수 밖에 없지요.

 

값을 확인하려면, 

echo  print_r($_POST['wr_10']);  

형식으로 해야, 보입니다.

 

1번과 2번을 선택한 경우, print_r 해보면,

Array ( [0] => 1 [1] => 2 ) 

이렇게 출력될 것이구요.


 

체크박스의 수량이 많지 않다면,

name 값을 달리하는게 간단할 것 같군요.

 

db에 저장이 되었다고 할 경우,

list에서 "O"을 출력하는 부분은

해당 스킨 출력부분에,

if($list[$i]['wr_10'] <>"")  echo "O";

이렇게 처리하면 될 듯..

 

 

write.skin.php 파일에서 

 

<input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">

 

위 부분 추가해서 넘겨주시고 

 

write_update.php

 

<?php

$wr_10=implode(",", $_POST['wr_10']);

sql_query("UPDATE {$write_table} SET wr_10 = '{$wr_10}' WHERE wr_id = '{$wr_id}'");

?>

 

이렇게 해주시면 될 것 같습니다

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

회원로그인

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