다중체크박스 선택 최소 한개 이상 선택하기 문의 드려요
본문
머리가 아프네요.ㅠㅠ
값이 저장이 안되는데....
어떤부분이 문제일가요? 고수님들 부탁드립니다.
write.skin.php
<?php $product = explode('|', $write['wr_8']); ?>
<table class="table newtable">
<tr>
<td>
<label class="checkbox-inline">
<input type="checkbox" name="wr_8[]" value="1" <?php if(in_array('1', $product)) echo 'checked'; ?>> 1
</label>
</td>
<td>
<label class="checkbox-inline">
<input type="checkbox" name="wr_8[]" value="2" <?php if(in_array('2', $product)) echo 'checked'; ?>> 2
</label>
</td>
<td>
<label class="checkbox-inline">
<input type="checkbox" name="wr_8[]" value="3" <?php if(in_array('3', $product)) echo 'checked'; ?>> 3
</label>
</td>
<td>
<label class="checkbox-inline">
<input type="checkbox" name="wr_8[]" value="4" <?php if(in_array('4', $product)) echo 'checked'; ?>> 4
</label>
</td>
</tr>
</table>
script
$("input[name='wr_8[]']").each( function () {
if (this.checked) {
flag = !flag;
return false;
}
});
if (!flag) {
alert("상품을 하나 이상 체크해주세요.");
return false;
}
write_update.skin.php
$wr_8_r = implode('|', $_POST['wr_8']);
$sql8 = " update $write_table set wr_8 = '{$wr_8_r}' where wr_id = '$wr_id' ";
sql_query($sql8);
답변 3
write_update.skin.php에서
$wr_8_r = implode('|', $_POST['wr_8']);
이 구문은 '|'를 통해서 array로 반환될텐데요...
위 구문 주석처리하고 DB상에 wr_8컬럼에 값이 들어가는지 한번 확인해보심이 좋을듯 합니다~
디버깅 절차를 알려드리겠습니다.
1. write_update.skin.php 파일에서 print_r2($_POST['wr_8']); 찍어보기
2. 찍어서 값이 정상적일 경우 echo $sql8 쿼리문 찍어보기
3. 쿼리문에서 에러가 날 경우 쿼리문 수정, POST값이 넘어오지 않았을 경우 write.skin.php 폼부분에 문제가 있을 것이니 확인
var flag = true;
$("input[name='wr_8[]']").each( function () {
if (this.checked) flag = false;
});
if (flag) {
alert("상품을 하나 이상 체크해주세요.");
return false;
}
답변을 작성하시기 전에 로그인 해주세요.