테스트 사이트 - 개발 중인 베타 버전입니다

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

닐구 7년 전 조회 4,023

머리가 아프네요.ㅠㅠ

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

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

write.skin.php

</p>

<p><?php $product = explode('|', $write['wr_8']); ?></p>

<p> <table class="table newtable"></p>

<p>  <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></p>

<p></tr></p>

<p></table></p>

<p>

 

script

</p>

<p> $("input[name='wr_8[]']").each( function () { 

            if (this.checked) { 

                flag = !flag;  

                return false; 

            } 

        }); 

    

        if (!flag) { 

            alert("상품을 하나 이상 체크해주세요."); 

            return false; 

        }</p>

<p>

 

write_update.skin.php

</p>

<p>    $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);</p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

7년 전

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

닐구
7년 전
function fwrite_submit(f) 안에 넣고 하면 알림창이 뜨긴하지만 값은 전송이 안되 고 있습니다.ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

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

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

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

닐구
7년 전
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>

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

댓글을 작성하려면 로그인이 필요합니다.

크리티컬팀

write_update.skin.php에서

$wr_8_r = implode('|', $_POST['wr_8']);  

이 구문은  '|'를 통해서 array로 반환될텐데요...

위 구문 주석처리하고 DB상에 wr_8컬럼에 값이 들어가는지 한번 확인해보심이 좋을듯 합니다~

로그인 후 평가할 수 있습니다

답변에 대한 댓글 6개

닐구
7년 전
디비상에 아무값도 안들어가고 있네요....ㅠㅠ
곰이vv
7년 전
그럼 write_update.skin.php의 $sql8 쿼리문 밑에

print_r($sql8); 추가하셔서 update시에 쿼리문 찍히는것 한번 체크해보시구요~
print_r($sql8); 소스로 쿼리문 찍히지 않는다면,
error_log($sql8);하시면
apache 에러로그에 쿼리문 찍힐겁니다~
쿼리문에 어떤 이상이 있는지 체크한번해보셔야 할것 같네요.
닐구
7년 전
제가 뭔가 잘못했는지 아무런반응이 없네요...ㅜㅜ
[code]
<?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);

?>
[/code]
곰이vv
7년 전
print_r2($sql8);가 아니고
print_r($sql8); 입니다... 2빼셔야 합니다...
닐구
7년 전
앗!! ^^;; 감사합니다.!!
그래도 뷰페이지로 바로 가네요.....ㅠㅠ
곰이vv
7년 전
혹시 아파치 에러로그 확인가능하신가요?
가능하시면

error_log($sql8);하시면
확실히 찍힐겁니다~ 시도해보시길~

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인