-
[php] 다중checkbox 선택 / 삭제처리개발/php 2019. 10. 16. 17:41반응형
--- comp.php파일 <- list 부분
<script type="text/javascript">
function revcheck(theform) {
for( var i=0; i<document.myform.url_num.length; i++) {
var ele = document.myform.url_num[i];
if(ele.name == 'url_num')
ele.checked = !ele.checked;
}
return;
}
//체크된 목록 삭제
function del() {
j = 0;
var cnt = 0;
var a = new Array();
var chk = document.forms.myform;
for (i=0; i< chk.length; i++) {
if(chk[i].checked) {
j = 1;
a[cnt] = chk[i].value;
cnt = cnt+1;
}
} //end of for
if (j == 0) {
alert("목록을 체크하여 주십시요")
return false;
} else {
ans = confirm("체크목록을 '삭제' 합니다.")
if(ans == true) {
//return true;
var acnt = a;
document.myform.action ="delete_ok.php?chk="+acnt;
document.myform.target = "_self";
document.myform.submit();
}else {
return false;
} // end of ans
} // end of if
}</script>
<!-- form이름 -->
<form name="myform" method="post">
<!--체크박스 전체 선택 할 버튼 -->
<a href='javascript:revcheck(this.form)'>전체</a>
<!-- 각 행마다 존재하는 체크박스 -->
<?
for문 개행
?>
<input type="checkbox" name="url_num" value="<?=$list_row['no']?>">
<?
}
?>
</form>
--- delete_ok.php <-- 삭제sql부분
$no = explode(',',$no); <-- 넘어오는값이 1,2,3.... 으로 한문장으로 오기에 explode함수를써서 ,로
구분 후 배열상태로 만듬
$nocnt = count($no); <-- 배열의 갯수를 구하고
for($i = 0; $i < $nocnt; $i++){ <-- 배열의 갯수만큼 for문을 돌림 / 돌아갈때마다 delete 시행
$delete_sql = "delete from cm where no = :no";
$delete_stt=$conn->prepare($delete_sql);
$delete_stt->execute(
array(
':no'=> $no[$i]
)
);
}다른소스는 생략하고 필요한 소스만 작성함.
-----------------------------------------------21.08.23 부연설명-----------------------------------------------
delete_ok.php 에서 explode 하는 $no 변수는 comp.php에서 넘어오는 삭제할 해당 글의 글번호임,
<input type="checkbox" name="url_num" value="<?=$list_row['no']?>">
에서 담겨있는 no값을 가져오는것임.
$no = explode(',',$no); <-- 를 실행하게되면 $no 안에 , 로 이어붙인 게시글번호 ex) 1,2,3,4 들이
$no[0] = 1
$no[1] = 2
$no[2] = 3
$no[3] = 4
으로 나눠지게되며
그 no[]의 개수를 count함수를 이용해서 $nocnt에 담게되고
for 문을 이용해서 $nocnt의 값 만큼 delete문이 실행됨.
본문에는 같은페이지에서 실행하기에 안써있지만
delete문이 있는 페이지로 값을 넘겨서 실행할때는
글 번호를 넘길떄 [$i]도 같이 적어서 실행시켜줘야함.
for($i = 0; $i < $nocnt; $i++){ <-- 배열의 갯수만큼 for문을 돌림 / 돌아갈때마다 delete 시행
$conn = db연결$conn->delete($nocnt[$i], $conn);
$conn->disconnect();
}반응형'개발 > php' 카테고리의 다른 글
[php]스마트에디터2.0 연동하기 / 이미지업로드 추가 (0) 2021.09.03 [centOS7] mysqli 에러 -> Call to undefined function mysqli_query (0) 2021.08.19 [php] 게시판 검색기능 (0) 2019.10.28 [php] 페이지 리스트 갯수 (0) 2019.10.16 네이버 smarteditor2.0 연동하기 (0) 2019.10.16