리스트에서 체크박스 수정방법

리스트에서 체크박스 수정방법

QA

리스트에서 체크박스 수정방법

본문

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>

    ";

}

 

?>

<!-- 라디오버튼 -->

 

 

3414315131_1697030232.0293.png

<?php if($wr_1)  ?>

                        <span class="sp"></span>

                        <lable>구분 : </lable>

                    <?php echo $view['wr_1']; //구분 ?>

3414315131_1697030254.1755.png

리스트

<?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='보류'>보류

 

 

3414315131_1697030286.234.png

 

 

화면에 표시는 되는데 리스트에서 게시글 선택하고 상단에 라디오박스를 클릭하면 해당 내용으로 변경이 되도록 하고 싶은데... 개발은 아예 몰라서 여기저기 찾아보고 하는 왕초보라.. 해결방법 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 2

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

다음과 같은 방법으로 해 볼 수 있을 것 같습니다.

1. list.skin.php 파일에 추가


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


2. AJAX 요청을 처리할 PHP 파일인 "ajax_update_wr1.php"를 생성

<?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 '잘못된 요청입니다.';
}
?>


3. 게시판 리스트의 라디오 버튼을 다음과 같이 수정하여 JavaScript 함수를 호출

<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']; ?>, '보류')">보류

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

 

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

답변을 작성하시기 전에 로그인 해주세요.
전체 129,112 | RSS
QA 내용 검색

회원로그인

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