2014-03-01 2 views
0

확인란을 사용하여 DB에서 행을 삭제할 때 문제가 있습니다. 확인란을 사용하여 DB에서 다중 행을 삭제하는 방법을 모르겠습니다. 문제는 내가 delete를 누를 때 하나만 삭제한다는 것이다.확인란의 값을 가진 행을 삭제 하시겠습니까?

내 PHP 코드 :

// Here I didn't know how to put the value of all checkboxes into one variable. 
    $intChk = $_POST['chk']; 
    /* ..... */ 
    foreach($intChk as $intRows) 
{ 
    // Starting the process to delete the selected rows. 
     $stmt = $mysqli->prepare("DELETE FROM follow WHERE id = ?"); 
     $stmt->bind_param('s', $intChk); 
     $stmt->execute(); 
     $stmt->close(); 
    } 

내 HTML 코드 :

<input type="checkbox" id="chk" class="checkbox" value="<?php echo $followId; ?>" name="chk[]"> 

당신의 도움을 주셔서 감사합니다!

+3

당신이 체크 박스의 값에 따라 여러 가지 기록을 삭제하려면 – barell

+0

글쎄, 우선, 당신이 있던 모든 체크 박스 아이디의를 수집해야 POST를 통해 아이디의의 배열을 전달하고'foreach' 루프를 ... 사용할 수 있습니다 삭제를 확인했습니다. 그럼 어떻게하는거야? JavaScript를 사용해야합니다. 어쩌면 jQuery 또는 다른 JS 라이브러리. – Leron

+0

@Leron 이름이 같지만 값이 다른 여러 체크 박스 입력을 HTML에 작성하면 PHP $ _POST 변수에 배열로 표시됩니다. 나는 JS 라이브러리를 사용하는 어떤 감각을 볼 수 없다 ... – barell

답변

2

이와 비슷한?

<?php 
$stmt = $mysqli->prepare("DELETE FROM follow WHERE id = ?"); 
foreach($_POST['chk'] as $checkbox) { 
      $stmt->bind_param('s', intval($checkbox)); 
      $stmt->execute(); 
} 
$stmt->close(); 
+0

대단히 고마워, 효과가 있었다 :-) – RezaM

관련 문제