2012-06-19 1 views
-1

은 내가 물었다 및 이전 버전 해결했다 : front end mysql, deleting a row프런트 엔드 MySQL보기, 확인란으로 항목을 삭제 하시겠습니까? 내가 질문 떨어져 짓고 있어요

는 기본적으로, 사용자가 DB를 볼 수있는 프론트 엔드를 가지고있다. 각 행 옆에 삭제 단추가있는 대신 여러 행을 선택할 수있는 확인란을 사용하고 싶습니다. 그런 다음 사용자는 하나의 삭제 버튼 만 클릭하고 선택한 모든 행이 제거됩니다. 나는 PHP와 mysql을 전혀 모르기 때문에 이미 가지고있는 코드에 접근하는 방법을 모르겠습니다.

현재 onclick은 삭제 기능을 호출합니다. 누구든지 도와 줄 수 있습니까?

내가 오랫동안 강한로 MySQL의 데이터에 대한 HTML을 출력하는 PHP 파일을 가지고

, 내가 변경해야 할 부분은 다음과 같습니다

$display_string .= "<td class='blank'><input type=\"button\" VALUE=\"Delete\" onclick='delFunction(" . $row['ID'] . ")' ></td>"; 

다음 삭제의 나 기능 :

function delFunction(ID){ 
    // confirm delete 
    if (!confirm(\"Are you sure you want to delete?\")) return false; 

    var ajaxRequest; // The variable that makes Ajax possible! 


    try{ 
     // Opera 8.0+, Firefox, Safari 
     ajaxRequest = new XMLHttpRequest(); 
    } catch (e){ 
     // Internet Explorer Browsers 
     try{ 
      ajaxRequest = new ActiveXObject(\"Msxml2.XMLHTTP\"); 
     } catch (e) { 
      try{ 
       ajaxRequest = new ActiveXObject(\"Microsoft.XMLHTTP\"); 
      } catch (e){ 
       // Something went wrong 
       alert(\"Your browser broke!\"); 
       return false; 
      } 
     } 
    } 
    // Create a function that will receive data sent from the server 
    ajaxRequest.onreadystatechange = function(){ 
     if(ajaxRequest.readyState == 4){ 
      var ajaxDisplay = document.getElementById('ajaxDiv'); 
      ajaxDisplay.innerHTML = ajaxRequest.responseText; 
     } 
    } 

    var queryString = \"?ID=\" + ID 


    ajaxRequest.open(\"GET\", \"delete_row.php\" + queryString, true); 
    ajaxRequest.send(null); 
} 

답변

0
문제의 내 이해에

, 둘 다 앞에 대한 몇 가지 코드를 게시하고 다시

프런트 엔드 샘플 코드

,536을 종료하고
<body> 
<form action="delete.php" method="post"> 
<input type="checkbox" name="del_chk[]">Item1 
<input type="checkbox" name="del_chk[]">Item2 
<input type="checkbox" name="del_chk[]">Item3 
<input type="checkbox" name="del_chk[]">Item4 
. 
. 
<input type="submit"> 
</form> 

................

당신의 백엔드 코드는 지금 것 ...

<?php 
if(isset($_POST['del_chk'])){ 
$chkbox=$_POST['del_chk']; 
foreach($chkbox as $key=>$value) { 

//Now you can get your value and use it in mysql delete statements 


//for example 
$del_query="DELETE FROM `yourtable` WHERE `pri_key`=$value;"; 
if(mysql_query($del_query)) { 
echo "Successful Deletion of: ".$value; 
} 
else 
{ 
echo "Unsuccessful Deletion of: ".$value; 
} 

} //end foreach 
} 
?> 

내가 많이 모르는 아약스. 하지만 아약스를 사용하여이 페이지를 호출 할 수 있습니다 ..

+0

아약스의 따옴표는 이스케이프 처리됩니다. 왜? 당신은 그렇게 할 필요가 없습니다! – cipher

+0

각 확인란의 ID는 어떻게 전달됩니까? 나에게 전달되는 값은 체크 박스에 다음 코드를 사용하여 'on'값입니다. $ display_string. """; – Constantino

+0

나는 대략 동일한 질문에 해결책을 썼다 : http://stackoverflow.com/questions/11119719/passing-checkbox-id-to-another-php-file – Constantino