다중체크박스 선택 최소 한개 이상 선택하기 문의 드려요

다중체크박스 선택 최소 한개 이상 선택하기 문의 드려요

QA

다중체크박스 선택 최소 한개 이상 선택하기 문의 드려요

답변 3

본문

머리가 아프네요.ㅠㅠ

값이 저장이 안되는데....

어떤부분이 문제일가요?  고수님들 부탁드립니다. 

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컬럼에 값이 들어가는지 한번 확인해보심이 좋을듯 합니다~

그럼 write_update.skin.php의 $sql8 쿼리문 밑에

print_r($sql8); 추가하셔서 update시에 쿼리문 찍히는것 한번 체크해보시구요~
print_r($sql8); 소스로 쿼리문 찍히지 않는다면,
error_log($sql8);하시면
apache 에러로그에 쿼리문 찍힐겁니다~
쿼리문에 어떤 이상이 있는지 체크한번해보셔야 할것 같네요.

제가 뭔가 잘못했는지 아무런반응이 없네요...ㅜㅜ


<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

	
	$wr_8_r = implode('|', $_POST['wr_8']);  
	$sql8 = " update $write_table set wr_8 = '{$wr_8_r}' where wr_id = '$wr_id' ";
	print_r2($sql8);

?>

디버깅 절차를 알려드리겠습니다.

1. write_update.skin.php 파일에서 print_r2($_POST['wr_8']); 찍어보기

2. 찍어서 값이 정상적일 경우 echo $sql8 쿼리문 찍어보기

3. 쿼리문에서 에러가 날 경우 쿼리문 수정, POST값이 넘어오지 않았을 경우 write.skin.php 폼부분에 문제가 있을 것이니 확인

wr_8에 값이 없네요..

<form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
</form>

안에 넣고 했는데...ㅠㅠ 값이 왜 전송이 안되는걸까요?

    var flag = true;
    $("input[name='wr_8[]']").each( function () { 
        if (this.checked) flag = false; 
    });     
    if (flag) { 
        alert("상품을 하나 이상 체크해주세요."); 
        return false; 
    }

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 794
© SIRSOFT
현재 페이지 제일 처음으로