리스트에서 체크박스 수정방법
본문
list.skin.php 내용보기 페이지 체크박스 클릭시 DB업데이트 방법?
기존에 있던 내용 참고해서 만들려고 하는데.. 잘 안되네요. 혹시 어떻게 해야 될까요?
작성
<?php if($wr_1) ?>
<span class="sp"></span>
<lable>구분 : </lable>
<?php echo $view['wr_1']; //구분 ?>
<!-- 라디오버튼 -->
<style>
.wr-radio { margin-left:3px; margin-right:7px; }
</style><?php
function wr_radio($radio_wr, $radio_str, $radio_req) {
global $write;
return "
<script>
n = " . explode('_', $radio_wr)[1] . ";
document.write('<span id=wrRadio_' + n + ' onmouseover=n=' + n + '>');
this['radio_' + n] = ('" . $radio_str . "').split(',');
this['radioValue' + n] = '" . $write[$radio_wr] . "';
document.write('<input type=hidden id=wr_' + n + ' name=wr_' + n + ' value=\'' + this['radioValue' + n] + '\'>');
for (this['name_' + n] of this['radio_' + n]) document.write('<input type=radio name=_' + n + ' value=\'' + this['name_' + n] + '\'><span class=wr-radio>' + this['name_' + n] + '</span>');
document.getElementsByName('_' + n)[document.getElementsByName('_' + n).length - 1].style.marginRight = '0px';
this['radioReq_' + n] = " . $radio_req . ";
for (this['_' + n] of document.getElementsByName('_' + n)) {
this['_' + n].checked = this['wr_' + n].value == this['_' + n].value;
this['_' + n].onclick = function() {
window['wr_' + n].value = this.value;
}
}
if (this['radioReq_' + n] && this['wr_' + n].value == '') {
document.getElementsByName('_' + n)[0].checked = 1;
document.getElementsByName('_' + n)[0].onclick();
}
document.write('</span>');
</script>
";
}
?>
<!-- 라디오버튼 -->
뷰
<?php if($wr_1) ?>
<span class="sp"></span>
<lable>구분 : </lable>
<?php echo $view['wr_1']; //구분 ?>
리스트
<?php if($wr_1){
sql_query("update $write_table set wr_1='$wr_1' where wr_id='$wr_1'");
$list['wr_1'] = $wr_1;
}
?>
<input type='radio' name='wr_1' value='검토'>검토
<input type='radio' name='wr_1' value='진행'>진행
<input type='radio' name='wr_1' value='완료'>완료
<input type='radio' name='wr_1' value='보류'>보류
화면에 표시는 되는데 리스트에서 게시글 선택하고 상단에 라디오박스를 클릭하면 해당 내용으로 변경이 되도록 하고 싶은데... 개발은 아예 몰라서 여기저기 찾아보고 하는 왕초보라.. 해결방법 부탁드립니다.
답변 2
해결방법은 이미 찾으신듯 한데요.. 올려주신 링크에 바로 답이 있습니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$list_skin_url.'/list.css" media="screen">', 0);
// 헤드스킨
$head_class = '';
if(isset($boset['hskin']) && $boset['hskin']) {
add_stylesheet('<link rel="stylesheet" href="'.G5_CSS_URL.'/head/'.$boset['hskin'].'.css" media="screen">', 0);
} else {
$head_class = (isset($boset['hcolor']) && $boset['hcolor']) ? ' border-'.$boset['hcolor'] : ' border-black';
}
// 숨김설정
$is_num = (isset($boset['lnum']) && $boset['lnum']) ? false : true;
$is_name = (isset($boset['lname']) && $boset['lname']) ? false : true;
$is_date = (isset($boset['ldate']) && $boset['ldate']) ? false : true;
$is_hit = (isset($boset['lhit']) && $boset['lhit']) ? false : true;
$is_vicon = (isset($boset['vicon']) && $boset['vicon']) ? false : true;
// 보임설정
$is_category = (isset($boset['lcate']) && $boset['lcate']) ? true : false;
$is_thumb = (isset($boset['lthumb']) && $boset['lthumb']) ? true : false;
$is_down = (isset($boset['ldown']) && $boset['ldown']) ? true : false;
$is_visit = (isset($boset['lvisit']) && $boset['lvisit']) ? true : false;
$is_good = (isset($boset['lgood']) && $boset['lgood']) ? true : false;
$is_nogood = (isset($boset['lnogood']) && $boset['lnogood']) ? true : false;
$wr_1 = (isset($boset['wr_1']) && $boset['wr_!']) ? true : false;
// 포토
$fa_photo = (isset($boset['ficon']) && $boset['ficon']) ? apms_fa($boset['ficon']) : '<i class="fa fa-user"></i>';
// 날짜
$is_dtype = (isset($boset['dtype']) && $boset['dtype']) ? $boset['dtype'] : 'Y.m.d';
$is_dtxt = (isset($boset['dtxt']) && $boset['dtxt']) ? true : false;
// 출력설정
$num_notice = ($is_thumb) ? '*' : '<span class="wr-icon wr-notice"></span>';
?>
<?php if($is_thumb) { ?>
<style>
.list-board .list-body .thumb-icon a {
<?php echo (isset($boset['ibg']) && $boset['ibg']) ? 'background:'.apms_color($boset['icolor']).'; color:#fff' : 'color:'.apms_color($boset['icolor']);?>;
}
</style>
<?php } ?>
<?php if($wr_1){
sql_query("update $write_table set wr_1='$wr_1' where wr_id='$wr_1'");
$list['wr_1'] = $wr_1;
}
?>
<input type='radio' name='wr_1' value='검토' onclick="updateWr1(<?php echo $list['wr_id']; ?>, '검토')">검토
<input type='radio' name='wr_1' value='진행' onclick="updateWr1(<?php echo $list['wr_id']; ?>, '진행')">진행
<input type='radio' name='wr_1' value='완료' onclick="updateWr1(<?php echo $list['wr_id']; ?>, '완료')">완료
<input type='radio' name='wr_1' value='보류' onclick="updateWr1(<?php echo $list['wr_id']; ?>, '보류')">보류
<div class="list-board">
<div class="list-head div-head<?php echo $head_class;?>">
<?php if ($is_checkbox) { ?>
<span class="wr-chk"><input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);"></span>
<?php } ?>
<?php if($is_num) { ?>
<span class="wr-num hidden-xs">번호</span>
<?php } ?>
<?php if($is_category) { ?>
<span class="wr-date hidden-xs">분류</span>
<?php } ?>
<?php if($is_thumb) { ?>
<span class="wr-thumb">포토</span>
<?php } ?>
<span class="wr-subject">제목</span>
<?php { ?>
<span class="wr_1">구분</span>
<?php } ?>
<?php if($is_name) { ?>
<span class="wr-name hidden-xs">이름</span>
<?php } ?>
<?php if($is_date) { ?>
<span class="wr-date hidden-xs"><?php echo subject_sort_link('wr_datetime', $qstr2, 1) ?>날짜</a></span>
<?php } ?>
<!--span class="wr-num hidden-xs">챕터</span-->
<?php if($is_hit) { ?>
<span class="wr-hit hidden-xs"><?php echo subject_sort_link('wr_hit', $qstr2, 1) ?>조회</a></span>
<?php } ?>
<?php if($is_down) { ?>
<span class="wr-down hidden-xs"><?php echo subject_sort_link('as_download', $qstr2, 1) ?>다운</a></span>
<?php } ?>
<?php if($is_visit) { ?>
<span class="wr-visit hidden-xs"><?php echo subject_sort_link('wr_link1_hit', $qstr2, 1) ?>방문</a></span>
<?php } ?>
<?php if($is_good) { ?>
<span class="wr-good hidden-xs"><?php echo subject_sort_link('wr_good', $qstr2, 1) ?>추천</a></span>
<?php } ?>
<?php if($is_nogood) { ?>
<span class="wr-nogood hidden-xs"><?php echo subject_sort_link('wr_nogood', $qstr2, 1) ?>비추</a></span>
<?php } ?>
</div>
<ul class="list-body">
<?php
for ($i=0; $i < $list_cnt; $i++) {
//아이콘 체크
$wr_icon = '';
$is_lock = false;
if ($list[$i]['icon_secret'] || $list[$i]['is_lock']) {
$wr_icon = '<span class="wr-icon wr-secret"></span>';
$is_lock = true;
} else if ($list[$i]['icon_hot']) {
$wr_icon = '<span class="wr-icon wr-hot"></span>';
} else if ($list[$i]['icon_new']) {
$wr_icon = '<span class="wr-icon wr-new"></span>';
} else if ($list[$i]['icon_video']) {
$wr_icon = '<span class="wr-icon wr-video"></span>';
} else if ($list[$i]['icon_image']) {
$wr_icon = '<span class="wr-icon wr-image"></span>';
} else if ($list[$i]['icon_file']) {
$wr_icon = '<span class="wr-icon wr-file"></span>';
}
// 공지, 현재글 스타일 체크
$li_css = '';
if ($list[$i]['is_notice']) { // 공지사항
$li_css = ' bg-light';
$list[$i]['num'] = $num_notice;
$list[$i]['subject'] = '<b>'.$list[$i]['subject'].'</b>';
} else {
if ($wr_id == $list[$i]['wr_id']) {
$li_css = ' bg-light';
$list[$i]['num'] = '<span class="wr-text orangered">열람중</span>';
$list[$i]['subject'] = '<b class="red">'.$list[$i]['subject'].'</b>';
} else if(!$is_chapter_active && !$list[$i]['icon_reply']) {
}
}
// 링크이동
$list[$i]['target'] = '';
if($is_link_target && !$list[$i]['is_notice'] && $list[$i]['wr_link1']) {
$list[$i]['target'] = $is_link_target;
$list[$i]['href'] = $list[$i]['link_href'][1];
}
?>
<li class="list-item<?php echo $li_css;?>">
<?php if ($is_checkbox) { ?>
<div class="wr-chk">
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
</div>
<?php } ?>
<?php if($is_num) { ?>
<div class="wr-num hidden-xs"><?php echo $list[$i]['num']; ?></div>
<?php } ?>
<?php if($is_category) { ?>
<div class="wr-date hidden-xs"><?php echo $list[$i]['ca_name']; ?></div>
<?php } ?>
<?php if($is_thumb) { ?>
<div class="wr-thumb">
<?php if ($list[$i]['is_notice']) { ?>
<span class="wr-icon wr-notice"></span>
<?php } else {
$wr_vicon = ($is_vicon && ($list[$i]['as_list'] == "2" || $list[$i]['as_list'] == "3")) ? '<i class="fa fa-play-circle-o wr-vicon"></i>' : ''; // 비디오 아이콘
$img = apms_wr_thumbnail($bo_table, $list[$i], 50, 50, false, true); // 썸네일
if($img['src']) {
?>
<div class="thumb-img">
<div class="img-wrap" style="padding-bottom:100%;">
<div class="img-item">
<a href="<?php echo $list[$i]['href']; ?>"<?php echo $list[$i]['target'];?><?php echo $is_modal_js;?>>
<?php echo $wr_vicon;?>
<img src="<?php echo $img['src'];?>">
</a>
</div>
</div>
</div>
<?php } else { ?>
<div class="thumb-icon">
<a href="<?php echo $list[$i]['href']; ?>"<?php echo $list[$i]['target'];?><?php echo $is_modal_js;?>>
<?php
// 아이콘
$thumb_icon = ($list[$i]['as_icon']) ? apms_fa(apms_emo($list[$i]['as_icon'])) : '';
if(!$thumb_icon) {
$thumb_icon = apms_photo_url($list[$i]['mb_id']);
$thumb_icon = ($thumb_icon) ? '<img src="'.$thumb_icon.'">' : $fa_photo;
}
echo $wr_vicon;
echo $thumb_icon;
?>
</a>
</div>
<?php } ?>
<?php } ?>
</div>
<?php } ?>
<div class="wr-subject">
<a href="<?php echo $list[$i]['href']; ?>" class="item-subject"<?php echo $list[$i]['target'];?><?php echo $is_modal_js;?>>
<?php if ($list[$i]['wr_comment']) { ?>
<span class="orangered visible-xs pull-right wr-comment">
<i class="fa fa-comment lightgray"></i>
<b><?php echo $list[$i]['wr_comment']; ?></b>
</span>
<?php } ?>
<?php echo $list[$i]['icon_reply']; ?>
<?php echo $wr_icon; ?>
<?php echo $list[$i]['subject']; ?>
<?php if ($list[$i]['wr_comment']) { ?>
<span class="count orangered hidden-xs"><?php echo $list[$i]['wr_comment']; ?></span>
<?php } ?>
</a>
<?php if(!$list[$i]['is_notice']) { //공지가 아닐경우 ?>
<div class="item-details text-muted font-12 visible-xs ellipsis">
<?php if($wr_1) { ?>
<span><?php echo $list[$i]['wr_1']; ?></span>
<?php } ?>
<?php if($is_name) { ?>
<span><?php echo $list[$i]['name']; ?></span>
<?php } ?>
<span><i class="fa fa-eye"></i> <?php echo $list[$i]['wr_hit']; ?></span>
<?php if($is_down) { ?>
<span><i class="fa fa-download"></i > <?php echo $list[$i]['as_download'];?></span>
<?php } ?>
<?php if($is_visit) { ?>
<span><i class="fa fa-share"></i> <?php echo ($list[$i]['wr_link1_hit'] + $list[$i]['wr_link2_hit']);?></span>
<?php } ?>
<?php if($is_good) { ?>
<span><i class="fa fa-thumbs-up"></i> <?php echo $list[$i]['wr_good'];?></span>
<?php } ?>
<?php if($is_nogood) { ?>
<span><i class="fa fa-thumbs-down"></i> <?php echo $list[$i]['wr_nogood'];?></span>
<?php } ?>
<span>
<i class="fa fa-clock-o"></i>
<?php echo ($is_dtxt) ? apms_datetime($list[$i]['date'], $is_dtype) : date($is_dtype, $list[$i]['date']); ?>
</span>
</div>
<?php } ?>
</div>
<?php if($wr_1) ?>
<div class="wr-1">
<?php echo $list[$i]['wr_1']; //구분 ?>
</div>
<?php if($is_name) { ?>
<div class="wr-name hidden-xs">
<?php echo $list[$i]['name'];?>
</div>
<?php } ?>
<?php if($is_date) { ?>
<div class="wr-date hidden-xs">
<?php echo ($is_dtxt) ? apms_datetime($list[$i]['date'], $is_dtype) : date($is_dtype, $list[$i]['date']); ?>
</div>
<?php } ?>
<!--div class="wr-num hidden-xs">
<?php echo ((int)$list[$i]['wr_3'] > 1) ? '<b class="black">'.number_format($list[$i]['wr_3']).'</b>' : '-';?>
</div-->
<?php if($is_hit) { ?>
<div class="wr-hit hidden-xs">
<?php echo $list[$i]['wr_hit'];?>
</div>
<?php } ?>
<?php if($is_down) { ?>
<div class="wr-down hidden-xs">
<?php echo $list[$i]['as_download'];?>
</div>
<?php } ?>
<?php if($is_visit) { ?>
<div class="wr-visit hidden-xs">
<?php echo ($list[$i]['wr_link1_hit'] + $list[$i]['wr_link2_hit']);?>
</div>
<?php } ?>
<?php if($is_good) { ?>
<div class="wr-good hidden-xs">
<?php echo $list[$i]['wr_good'];?>
</div>
<?php } ?>
<?php if($is_nogood) { ?>
<div class="wr-nogood hidden-xs">
<?php echo $list[$i]['wr_nogood'];?>
</div>
<?php } ?>
</li>
<?php } ?>
</ul>
<div class="clearfix"></div>
<?php if (!$is_list) { ?>
<div class="wr-none">게시물이 없습니다.</div>
<?php } ?>
</div>
<script>
$(function(){
$("input:radio[name='wr_1']").click(function(){
location.href="board.php?bo_table=<?php echo $bo_table?>&wr_id=<?php echo $wr_id?>&wr_1="+$(this).val();
});
});
</script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <!-- jQuery를 불러옵니다. 버전은 필요에 따라 조정할 수 있습니다. -->
<script>
function updateWr1(wrId, value) {
$.ajax({
type: "POST",
url: "ajax_update_wr1.php", // 업데이트를 처리할 PHP 파일 경로를 설정합니다.
data: {
wr_id: wrId,
wr_1: value
},
success: function(response) {
// 성공적으로 업데이트가 완료된 후 수행할 작업을 정의할 수 있습니다.
// 예를 들어, 메시지를 표시하거나 화면을 갱신합니다.
}
});
}
</script>
현재 이렇게 되어 있는데 뭐가 문제일까요?