버튼 클릭시 on/off 가능하도록 만들고 있습니다.

버튼 클릭시 on/off 가능하도록 만들고 있습니다.

QA

버튼 클릭시 on/off 가능하도록 만들고 있습니다.

본문

안녕하세요?

php공부중인데요,

 

그누보드 갤러리 list.skin.php 에서 카테고리 위에 현재 게시중인지 아닌지 구분해서 보여주는 버튼을 만들었습니다.

여분필드를 사용해서 wr_2 = '1' 이면 게시중 아닐경우는 미게시중으로 표시되도록 해두었는데요, 글 수정에서 해당값을 수정할수는 있지만 리스트로 뿌려지는곳에서 게시중일경우 게시중 버튼을 클릭하면 미게시중 으로 db값을 변경하고 싶은데 조금 어렵네요 ㅎ;

 

클릭 시 wr_2 의 값을 1 -> 2 -> 1 -> 2 이렇게 변경되게하려면 어떤방법이 있을까요?

조언부탁드립니다.

감사합니다.

 


<div style="margin-bottom:6px;">
     <?php if($list[$i]['wr_2'] == '1') {?>
          <p class="bo_cate_link">사용중</p>
          <?php }else{ ?>
          <p class="bo_cate_link_no">미사용중</p>
      <?php } ?>
</div>

이 질문에 댓글 쓰기 :

답변 2

* list.skin.php 해당 소스 변경


<div style="margin-bottom:6px;">
    <?php
    $t_class = ($list[$i]['wr_2'] == '1') ? 'bo_cate_link' : 'bo_cate_link_no';
    $t_txt = ($list[$i]['wr_2'] == '1') ? '사용중' : '미사용중';
    ?>
    <p class="<?php echo $t_class ?>" data-id="<?php echo $list[$i]['wr_id'] ?>"><?php echo $t_txt ?></p>
</div>

 

* list.skin.php 리스트 출력문 아래에 추가


<script>
$('[class^="bo_cate_link"]').on('click', function() {
    let _class = $(this).attr('class');
    let _id = $(this).data('id');            
    let _wr_2 = _class == 'bo_cate_link' ? "0" : "1";
 
    $.ajax({
        type: "POST",
        url: "<?php echo $board_skin_url ?>/ajax.change.php",
        data: {bo_table : g5_bo_table, wr_id : _id, wr_2 : _wr_2 },
        context: this,
        success: function(data) {
            if (data == "1") {
                if (_class == 'bo_cate_link') {
                    $(this).removeClass('bo_cate_link');
                    $(this).addClass('bo_cate_link_no');
                    $(this).text('미사용중');
                } else if (_class == 'bo_cate_link_no') {
                    $(this).removeClass('bo_cate_link_no');
                    $(this).addClass('bo_cate_link');
                    $(this).text('사용중');
                }                
            }                
        }
    });
});
</script>

 

* 스킨디렉토리에 ajax.change.php 생성


<?php
include_once('../../../common.php');
 
if ($bo_table && $wr_id) {
    $write_table = $g5['write_prefix'] . $bo_table;
    $sql = "
        update {$write_table}
             set wr_2 = '{$wr_2}'
         where wr_id = '{$wr_id}'
    ";
    $result = sql_query($sql);
    echo $result;
}
답변을 작성하시기 전에 로그인 해주세요.
전체 123,530 | RSS
QA 내용 검색

회원로그인

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