2016-10-20 5 views
0

여러 행을 확인란으로 선택한 후 아래 코드로 아약스로 삭제합니다. (잘 작동합니다.)foreach의 확인란을 사용하여 데이터 삭제

<?php 
include_once("../../files/connect.php"); 
if(isset($_POST['val'])) 
{ 
    $p = &$_POST['val']; 
    foreach($p as &$v) 
    { 
     $v = "'". mysqli_escape_string($kapcs, $v) ."'"; 
    } 
    $values = '('.implode(',',$p).')'; 
    mysqli_query($kapcs, "DELETE FROM kereses WHERE kereses_id IN $values") or die(mysqli_error($kapcs)); 

    echo 'Selected rows deleted.'; 
} 
else 
{ 
    exit("No rows selected with checkbox."); 
} 
?> 

어떻게이 코드를 삽입 할 수 있습니까? 나는 폴더에서 이미지 나 파일을 삭제하기를 원합니다. SQL 테이블의 레코드 만 삭제하는 것이 아닙니다. 누군가 나를 도울 수 있습니까?

+0

DB에서 삭제할 ID와 이미지 경로는 어떤 관계가 있습니까? – Barmar

답변

0

귀하의 질문을 이해할 수 있기를 바랍니다. 코드가 검사되지는 않지만 코드를 사용자의 환경에 맞게 수정하십시오.

<?php 
include_once("../../files/connect.php"); 
if(isset($_POST['val'])) 
{ 
$p = &$_POST['val']; 


foreach($p as &$v) 
{ 
    $v = "'". mysqli_escape_string($kapcs, $v) ."'"; 
//select all the row 

     $sor = $kapcs->query("SELECT * FROM kereses WHERE kereses_value = {$v}"); 

//fetch the row 
    while ($data = mysqli_fetch_row($sor)){ 

      //delete selected rows 
      $delete = $kapcs->query("DELETE FROM kereses WHERE id= {$data['id']}"); 

      // if delete success 
      if ($delete) { 

       $DestinationDirectory = "../../images/news/"; 
       echo 'Selected row deleted from database.'; 
        // unlink the thumbnail if exists 
           if(file_exists($DestinationDirectory.$data['hir_thumb'])) 
           { 
            unlink($DestinationDirectory . $data['hir_thumb']); 
            echo 'Selected thumbnail deleted from filesystem.'; 
           } 
        //unlink the big picture if exists 
           if(file_exists($DestinationDirectory.$data['hir_big'])) 
           { 
            unlink($DestinationDirectory . $data['hir_big']); 
            echo 'Selected picture deleted from filesystem.'; 
           } 
      } 


    } 
} 


} 
else 
{ 
exit("No rows selected with checkbox."); 
} 
?> 

도움이되기를 바랍니다.

관련 문제