버튼 클릭시 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;
}
글을 쓰는중 이런거 표현하려고요?
답변을 작성하시기 전에 로그인 해주세요.