2014-03-01 84 views
0

我在使用複選框刪除數據庫中的行時遇到問題。我不知道如何用複選框刪除數據庫中的多行數據。問題是,當我按刪除它只會刪除一個。使用複選框的值刪除行

我的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

您可以郵寄傳遞的id的數組,並使用'foreach'環...... – barell

+0

嗯,首先,如果你想刪除基於該複選框值幾條記錄,你應該收集所有複選框ID的那名檢查刪除。那麼你是如何做到的?你應該使用JavaScript。也許jQuery或其他JS庫。 – Leron

+0

@Leron如果您在HTML中使用SAME名稱創建了多個複選框輸入,但使用了不同的值,它將以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