분류 체크박스로 변경할 때 오류,, 도와주세요 ㅠㅠ
본문
https://sir.kr/g4_tiptech/26035
해당 게시판 참고해서 작업중인데
1. write.skin.php 에서 분류 입력부분 수정
<tr>
<td class=write_head>사이트 분류</td>
<td>
<?
$arr=explode("|",$board[bo_category_list]);
foreach($arr as $str) { ?>
<input type=checkbox name=chk_ca_name[] value='<?=$str?>' ><?=$str?>
<? } ?>
<script>
var f = document.fwrite;
var str=",<?=$write[ca_name]?>,";
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_ca_name[]") {
if (str.indexOf(','+f.elements[i].value+',')>=0) {
f.elements[i].checked = true;
}
}
}
</script>
</td></tr>
이부분은 해서 분류가 체크박스로 변하긴 했습니다. 체크도 되고 글도 작성ㅇ ㅣ되는데
정작 리스트나 view에서보면 분류가 선택이 안된걸로 나옵니다..ㅠㅠ..
2. write_update.head.skin.php 에서 저장부분 수정
<?
$ca_name='';
foreach($_POST[chk_ca_name] as $var) {
$ca_name.=",$var";
}
if (strlen($ca_name)) $ca_name=substr($ca_name,1);
?>
이부분은 write_update.head.skin.php에 해당 내용을 작성하면
이렇게 에러가 나오는데 어디 부분에 작성해야 할까요?
답변 2
bitmap방식으로 하는 것을 추천합니다.
$ca_name_set=explode("|",$view['ca_name']);
foreach($arr as $str) { ?>
<input type=checkbox name=chk_ca_name[] value='<?=$str?>'
<?=in_array( $str, $ca_name_set)?'checked':''?>
/><?=$str?>
<? } ?>
수정시 체크박스 체크는 엑스엘엠님 답변대로 하고 자바스크립트는 필요없으니 완전히 제거
write_update.head.skin.php는 불필요한 코드가 잔뜩 입니다
아래처럼 한줄만 있으면 됩니다
<?php
$ca_name = implode(',', $_POST['chk_ca_name']);
?>
!-->