체크박스 내용 불러와서 explode로 자르기
본문
<div class="col-lg-6 wrap">
<div class="col-md-4 tit"><label for="wr_5">강좌선택<strong class="sound_only">필수</strong></label></div>
<div class="col-md-8 text">
<?php
$www1 = explode("|",$wr_5);
?>
<input type="checkbox" name="www[0]" id="wr_5_1" value="<?=$www1[0]?>" />노래강좌
<input type="checkbox" name="www[1]" id="wr_5_2" value="<?=$www1[1]?>" />공예교실
<input type="checkbox" name="www[2]" id="wr_5_3" value="<?=$www1[2]?>" />요가
<input type="checkbox" name="www[3]" id="wr_5_4" value="<?=$www1[3]?>" />리듬댄스
</div>
</div>
체크박스로 다중체크가능하게 하고 현재 write_update.skin.php 로 넘겨서 값이 넘어오는지 확인중입니다.
value값을 "노래강좌", "공예교실", "요가", "리듬댄스" 이렇게 직접 써주면 값이 넘어오는데
올려놓은것처럼 $www1[0]으로 값을 불러오려고 하면 | 만 나오고 내용이 나오지 않습니다.
for($i=0; $i < count($_POST['www']); $i++){
$wr_5 .= $_POST['www'][$i];
$wr_5 .= "|";
}
$wr_5 = $_POST['www1[0]'] . "|" . $_POST['www1[1]'] . "|" . $_POST['www1[2]'] . "|" .$_POST['www1[3]'];
echo $wr_5;
exit;
write_upate 파일에서 이런식으로 써주었는데
나중에 3항연산자를 이용해 작성자가 체크했던것을 수정시에 그대로 checked 로
불러오려고 하고 있습니다.
지금은 값자체를 불러오지 못하는것같습니다..
어디가 문제인지 알려주시면 감사하겠습니다..
답변 2
// write.skin.php
<input type="checkbox" name="www[]" value="노래강좌" />노래강좌
<input type="checkbox" name="www[]" value="공예교실" />공예교실
<input type="checkbox" name="www[]" value="요가" />요가
<input type="checkbox" name="www[]" value="리듬댄스" />리듬댄스
<script>
var arr = '<?php echo $wr_5 ?>'.split('|');
$('input[name="www[]"]').each( function(i) {
if (jQuery.inArray($(this).val(), arr) != -1) $(this).prop("checked", true);
});
</script>
// write_upate
if (isset($_GET['www'])) $wr_5 = implode('|', $_GET['www']);
$wr_5 = $_POST['www1[0]'] . "|" . $_POST['www1[1]'] . "|" . $_POST['www1[2]'] . "|" .$_POST['www1[3]'];
변수명이 www1이 아니라 www이네요.
$wr_5 = $_POST['www'][0] . "|" . $_POST['www'][1] . "|" . $_POST['www'][2] . "|" .$_POST['www1'][3];
이렇게 해서 echo 찍어보시면 아마 출력될꺼에요.