선택삭제의 구동원리 질문입니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

선택삭제의 구동원리 질문입니다. 정보

선택삭제의 구동원리 질문입니다.

본문

관리자가 리스트에서 게시물을 선택하여 삭제/이동/복사 할때
게시판 리스트 부분에서.. 아래와 같이
//////////////////////////////////////////
<? if ($is_checkbox) { ?>
<script language="JavaScript">
function all_checked(sw) {
    var f = document.fboardlist;
    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]")
            f.elements[i].checked = sw;
    }
}
function check_confirm(str) {
    var f = document.fboardlist;
    var chk_count = 0;
    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
            chk_count++;
    }
    if (!chk_count) {
        alert(str + "할 게시물을 하나 이상 선택하세요.");
        return false;
    }
    return true;
}
// 선택한 게시물 삭제
function select_delete() {
    var f = document.fboardlist;
    str = "삭제";
    if (!check_confirm(str))
        return;
    if (!confirm("선택한 게시물을 정말 "+str+" 하시겠습니까?\n\n한번 "+str+"한 자료는 복구할 수 없습니다"))
        return;
    f.action = "./delete_all.php";
    f.submit();
}
////////////////////////////////////////////////////////////////////
 
delete_all.php 로 변수를 넘겨 선택된 글의 wr_id 값을 넘겨 삭제 되는 것으로 이해 하고 있습니다.
 
아래와 같이
///////////////////////////////////////////////////////////////////
 
$tmp_array = array();
if ($wr_id) // 건별삭제
    $tmp_array[0] = $wr_id;
else // 일괄삭제
    $tmp_array = $_POST[chk_wr_id];

// 사용자 코드 실행
@include_once("$board_skin_path/delete_all.skin.php");

// 거꾸로 읽는 이유는 답변글부터 삭제가 되어야 하기 때문임
for ($i=count($tmp_array)-1; $i>=0; $i--)
{
    $write = sql_fetch(" select * from $write_table where wr_id = '{$tmp_array[$i]}' ");
 
/////////////////////////////////////////////////////////////////////
 
넘어간 변수는 delete_all.php의 첫부분에서 처리가 되도롯 되어 있는데요..
 
정확이 $tmp_array = $_POST[chk_wr_id] 가 갖게 되는 변수가 어떻게 되는지 알고싶습니다.
 
질문의 길이는 길지만 요점은 간단합니다..
 $_POST[chk_wr_id] 에 들어가게 되는 변수가 어떻게 되는지.. ㅠㅠ
 
더욱 쉽게 말하자면..
한개의 글을 삭제할때 주소창에
delete_all.php?wr_id=10
 
를 쓴다면 wr_id 가 10 인 글이 삭제 됩니다.
 
그렇다면.. wr_id가 10 / 11 /12 인 세개의 글을 삭제하려고 주소창에 쓴다면..
delete_all.php?xxxxxx
 
xxxxxx 부분은 어떻게 되는지 알고 싶습니다.
 
 
도움 부탁드립니다.  감사합니다.

댓글 전체

게시판 관리자의 정렬방법에 의한 wr_id가 배열로 넘어 갑니다.

궁금하시면 아래 내용을 delete_all.head.skin.php로 저장하셔서 테스트 해보세요...^^

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

$tmp_array = array();
if ($wr_id) // 건별삭제
    $tmp_array[0] = $wr_id;
else // 일괄삭제
    $tmp_array = $_POST[chk_wr_id];
$chk_word = "";
for($i=0;$i<=count($tmp_array);$i++){
    $chk_word .= $tmp_array[$i];
    $chk_word .= " ";
}
alert("{$chk_word}");

?>
테스트 :

delete_all.php 의 10줄 이하에서

$tmp_array = array();
if ($wr_id) // 건별삭제
    $tmp_array[0] = $wr_id;
else // 일괄삭제
    $tmp_array = $_POST[chk_wr_id];



//$tmp_array = array();
if ($wr_id) // 건별삭제
    $tmp_array[0] = $wr_id;
//else // 일괄삭제
//    $tmp_array = $_POST[chk_wr_id];

바꾸고

주소창에

delete_all.php?bo_table=게시판&tmp_array[0]=글번호&tmp_array[1]=글번호

식으로 해보세요...^^
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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