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

리스트에서 체크박스 수정방법 채택완료

ted00 2년 전 조회 1,952

list.skin.php 내용보기 페이지 체크박스 클릭시 DB업데이트 방법?

 

https://sir.kr/qa/276149 

기존에 있던 내용 참고해서 만들려고 하는데.. 잘 안되네요. 혹시 어떻게 해야 될까요?

 

 

작성

<?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개

채택된 답변
+20 포인트

해결방법은 이미 찾으신듯 한데요.. 올려주신 링크에 바로 답이 있습니다.

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

답변에 대한 댓글 2개

t
ted00
2년 전
아... 구체적으로 뭐가 문제일까요? 해당 링크보고 따라하면서 하기는 했는데.. 막상 라디오 버튼을 누르면 적용이 안돼서... 뭔가 문제가 있어서 안되는 것 같은데.. 몰라서 문의드렸습니다.
웹메이킹
2년 전
다음과 같은 방법으로 해 볼 수 있을 것 같습니다.

1. list.skin.php 파일에 추가
[code]
<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>
[/code]

2. AJAX 요청을 처리할 PHP 파일인 "ajax_update_wr1.php"를 생성
[code]
<?php
include_once('./_common.php'); // 그누보드 설정 파일을 불러옵니다.

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$wr_id = $_POST['wr_id'];
$wr_1 = $_POST['wr_1'];

// 데이터베이스 업데이트 쿼리를 실행합니다. 적절한 테이블 이름과 필드 이름을 사용해야 합니다.
sql_query("update 테이블이름 set wr_1='$wr_1' where wr_id='$wr_id'");

echo '업데이트가 완료되었습니다.'; // 클라이언트에 응답을 보냅니다.
} else {
echo '잘못된 요청입니다.';
}
?>
[/code]

3. 게시판 리스트의 라디오 버튼을 다음과 같이 수정하여 JavaScript 함수를 호출
[code]
<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']; ?>, '보류')">보류
[/code]

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

ted00
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>

 

현재 이렇게 되어 있는데 뭐가 문제일까요?

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

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

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

로그인