선택삭제의 구동원리 질문입니다. 정보
선택삭제의 구동원리 질문입니다.본문
관리자가 리스트에서 게시물을 선택하여 삭제/이동/복사 할때
게시판 리스트 부분에서.. 아래와 같이
//////////////////////////////////////////
<? if ($is_checkbox) { ?>
<script language="JavaScript">
function all_checked(sw) {
var f = document.fboardlist;
<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;
}
}
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;
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 (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
chk_count++;
}
if (!chk_count) {
alert(str + "할 게시물을 하나 이상 선택하세요.");
return false;
}
return true;
}
alert(str + "할 게시물을 하나 이상 선택하세요.");
return false;
}
return true;
}
// 선택한 게시물 삭제
function select_delete() {
var f = document.fboardlist;
function select_delete() {
var f = document.fboardlist;
str = "삭제";
if (!check_confirm(str))
return;
if (!check_confirm(str))
return;
if (!confirm("선택한 게시물을 정말 "+str+" 하시겠습니까?\n\n한번 "+str+"한 자료는 복구할 수 없습니다"))
return;
return;
f.action = "./delete_all.php";
f.submit();
}
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];
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.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]=글번호
식으로 해보세요...^^
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]=글번호
식으로 해보세요...^^