선택자료 삭제하는 자바스크립트 코드??
본문
안녕하세요?
게시판 (그누보드 아님-일반 php 단순 게시판)리스트에서 체크박스로 선택 후
삭제 페이지를 연 다음에 체크한 레코드를 다시 한번 보여 준 후
"삭제 버튼" 클릭 시 삭제 하고자 하는데,
다시 보여 주는 select문까지는 작성하였는데,
"삭제 버튼"클릭 시 삭제하는 자바스크립트? 를 잘 모르겠습니다.
아니면, 자바스크립트로 하지 않아도 되는지요?
또 다른페이지를 여는 것 보다 삭제페이지에서 삭제 하고 싶습니다.
처음 게시판 리스트 페이지에서 삭제 확인 페이지를 열었으니... 또 페이지를 열기 보다
이제 삭제 대상을 눈으로 확인 하였으니, 바로 삭제 하면 될 터........
아래 코드가 좀 지저분 합니다. php 초보라........ㅎㅎ 여기 저기 사이트에서 검색하여
1주일만에 만들은 거라........ 체크박스로 삭제하는 것 좀 어렵네요...
== 맨 아래에 삭제 버튼 있는데........이것 작동되게 하는 방법이나
== 다른 방법의 삭제 기능을 수행하는 코드를 부탁 드립니다....
<?php
include("dbinfo.php");
/*
$conn = mysql_connect( $host, $user, $pw ) or die( "디비에 연결할 수 없습니다." );
mysql_select_db( $dbname ) or die( mysql_error() );
*/
$conn = mysqli_connect($host, $user, $pw, $dbname); // 데이터베이스 연결
if(mysqli_connect_errno($conn)) {
echo "DB connect failed:".mysqli_connect_error();
echo "에러가 발생했어요!!";
} else
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" >
<title>글목록보기</title>
<STYLE TYPE=text/css>
BODY,TD,SELECT,input,DIV,form,TEXTAREA,center,option,pre,blockquote {font-family:굴림;font-size:9pt;color:#555555;}
A:link {color:black;text-decoration:none;}
A:visited {color:black;text-decoration:none;}
A:active {color:black;text-decoration:none;}
A:hover {color:gray;text-decoration:none;}
</STYLE>
<script type="text/javascript">
<!--
function delUrl() {
var Del = confirm("삭제 하시겠습니까?")
if (Del == true)
{
alert("삭제 되었습니다.")
// location.href="./list.php"
} else {
alert("취소 되었습니다.")
// location.href="./list.php"
}
location.href="./list.php"
}
//-->
</script>
</head>
<body background=./images/body_bg.gif> <img src=./images/maintitle.gif>
<?php
//받는 페이지
for($i=0;$i<count($chk_id);$i++){
echo ".</br>";
$sql = " select * from ttBusu WHERE SEQ in ('{$chk_id[$i]}') ";
// $sql = " DELETE from ttBusu WHERE SEQ = '{$chk_id[$i]}' ";
$result=mysqli_query($conn,$sql); //쿼리문 전송 결과값 받음
if(mysqli_affected_rows($conn) > 0) {
while ($data = mysqli_fetch_assoc($result))
{
$data[tpNAME]=stripslashes($data[tpNAME]);//이름에서 제거
$data[curBUSU]=stripslashes($data[curBUSU]);//메모에서 제거
echo "<tr>
<td>$data[SEQ]</td>
<td>$data[tpNAME]</td>
<td>$data[curBUSU]부</td>
</tr>";//꺼내온것출력
}
echo " 삭제 대상 자료 ";
} else {
echo "Error record: " . mysqli_error($conn);
}
}
if ($result) {
}
echo "</br><p>$i 개- 자료를 삭제합니다 </br>";
mysqli_close($conn); // 연결 종료
/*
//반복실행하면서 체크된 것만 삭제
if($delete)
{
//체크된 것 삭제하는 반복문
for ($i=0; $i<sizeof($selectcheck); $i++){
$sql = "DELETE from ttBusu WHERE SEQ = $selectcheck[$i]";
$result = mysql_query($sql, $connect);
}
echo "<script>
alert('삭제되었습니다.')
location.href = 'admin_member.php'
</script>";
}
*/
?>
<button onclick="delUrl();">삭제 실행</button>
</body>
</html>
답변 2
table 태그도 없이 tr/td를 사용하나요?
<body ~~>
<form name='dlist' method='post'>
<table>
-------------------------------
<td>$data
[SEQ]</td>-->
<td>$data
[SEQ]<input type='hidden' name='SEQ' value='
$data
[SEQ]</td>
--------------------------------
37, 46번행 삭제
66번행 echo "</table></form>";
------------------------------------
31번행 삭제 후 추가
document.dlist.submit();
----------------------------------------
48번행 수정
SEQ in ('{$chk_id[$i]}')--> SEQ ='{$chk_id[$i]}'
-------------------------------
13번행에 추가
if( $_POST['SEQ'][0]){
$seqStr = implode(",", $_POST['SEQ"]);
$sql =
" delete * from ttBusu WHERE SEQ in ($seqStr) "
;
mysqli_query($conn
,
$sql
);
echo "<script>alert('deleted!'); location.href='list.php';</script>";
}
결국 삭제도 DB작업이니 삭제페이지에서 넘어가는 form을 하나 작성하고 업데이트 또는 삭제하는 page 작업을 해서 넘어갔다오면 될듯합니다. 그누보드가 아니라고 해도 방식은 결국 같으니까요. 그누보드 참고하셔도 좋죠. 리스트에서 선택삭제로 가는 방법