Hello , friends in this article we will show you . how to delete multiple record from database . Mostly we have to need delete single record but according to project size some times we have to need delete multiple record from database .
So in this this tutorials we learn how to delete multiple record using php and mysql database . By the way we can use the for loop or foor each loop for delete multiple record . but here we use something different . We are using In clause for delete multiple record . lets start
First you have to create index.php file. inside the file you will create a form with POST method . Inside the form we will create a checkbox name = "select_all" and id = "select_all"
<form action="" method="post">
<div class="row">
<div class="col-sm-8">
<button class="btn btn-danger" type="submit" name="delete_record" id="delete_record" style="margin-bottom:10px;"><i class="glyphicon glyphicon-trash"></i> Delete All</button>
<?php
if(isset($_SESSION['msg'])){
echo $_SESSION['msg'];
}
?>
<table class="table table-striped table-bordered">
<thead>
<tr class="danger">
<th><input type="checkbox" name="select_all" id="select_all"></th>
<th>SN</th>
<th>Title </th>
</tr>
</thead>
<tbody>
<?php
$sql = "SELECT * FROM multiple_record_countries ORDER by id DESC LIMIT {$limit} , {$perpage} ";
$result = $obj->execute_query($sql);
if($result != FALSE){
$sn = (($_GET['page'] - 1) * 20 ) + 1;
foreach($result as $row){
?>
<tr>
<td><input type="checkbox" name="id[]" class="post_checkbox" value="<?php echo $row['id']; ?>"></td>
<td><?php echo $sn; ?></td>
<td><?php echo $row['name']; ?></td>
</tr>
<?php
$sn++;
}
}
else{
?>
<tr>
<td colspan="6">
<P class="alert alert-info">No Record Found</P>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
</form>
Use this jquery code for checked and unchecked checkbox . If you want to delete a specific record you can checked perticular checkbox . If you want to delete multiple record you can checked SELECT ALL checkbox .
$(document).ready(function(e) {
$(document).on('click','#select_all',function(e){
if( $(this).is(":checked") ){
$(".post_checkbox").prop('checked',true);
}
else{
$(".post_checkbox").prop('checked',false);
}
});
});
When you click the submit button then you have to follow this procedure . If you checked Select All button and submit the form then delete all single page record .
$table_name = "multiple_record_countries";
if(isset($_POST['delete_record'])){
if(count($_POST['id']) > 0){
$id_arr = implode(',' , $_POST['id']);
$where_con = "`id` IN (".$id_arr.")";
$delete_response = $obj->delete_multiple_record($table_name , $where_con);
if($delete_response){
$_SESSION['msg'] = $obj->has_message('Record delete successful !!!');
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
}
else{
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
}
<?php
public function delete_multiple_record($table_name , $con){
$sql = "DELETE FROM ".$table_name." WHERE ".$con;
$q = $this->db->prepare( $sql );
$stmt = $q->execute();
if( $stmt ) { return TRUE; }
else{ return FALSE; }
}
?>