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

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

QA

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

본문

머리가 아프네요.ㅠㅠ

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

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

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; 
    }

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

회원로그인

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