Delete Multiple Records Using Checkbox in Php Codeigniter



Delete Multiple Records Using Checkbox in Php Codeigniter

Today we are going to make a interesting codeigniter code snippet “How to delete multiple records using checkbox in php codeigniter”. AJAX will be used to complete this task. So to achieve this goal just follow the below steps.

 

Step 1.

Download codeigniter framework. Then unzip the folder using winzip or winrar and then put the framework folder in local server(htdocs or www).

 

Step 2.

Set up basic configuration.
Update the config.php under the directory(application/config/)

*/
$config['base_url'] = 'http://localhost/your_applciation_folder';
 /*

 

Update the database.php under the directory (application/config/).

$active_group = 'default';
$active_record = TRUE;
 
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root'; 
$db['default']['password'] = '';
$db['default']['database'] = '';// database name
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

 

Step 3.

  1. Create home.php file(controller) under the directory(application/controller/).
  2. Create home_model.php file(model) under the directory(application/model/).
  3. Create home.php file(view) under the directory(application/view/).

 

Step 4.

Write the below code in controller(home.php) or paste the following code in home.php file under the directory(application/controller/) which we create in step 3.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Home extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('home_model');
    }
 
    public function index()
    {       
             
            $data['result'] = $this->db->get('multi_del');
            $this->load->view('home', $data);
    }
         
        public function insert(){
            $this->home_model->insert();
        }
         
        public function delete(){
            $ids = ( explode( ',', $this->input->get_post('ids') ));
            $this->home_model->delete($ids);
        }
         
}
 
/* End of file welcome.php */
/* Location: ./application/controllers/home.php */

 

Write below code in model(home_model.php) or paste the following code in home_model.php file under the directory(application/model/) which we create in step 3.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Home_model extends CI_Model { function insert(){ $this->db->query("INSERT INTO `multi_del` (`code`, `name`) VALUES
                    ('1', 'one'),
                    ('2', 'two'),
                    ('3', 'three'),
                    ('4', 'four'),
                    ('5', 'five'),
                    ('6', 'six'),
                    ('7', 'seven'),
                    ('8', 'eight'),
                    ('9', 'nine'),
                    ('10', 'ten');");
}

function delete($ids){
        $ids = $ids;
       $count = 0;
        foreach ($ids as $id){
           $did = intval($id).'
';
            $this->db->where('id', $did);
            $this->db->delete('multi_del');  
            $count = $count+1;
       }
       
        echo'

<div class="alert alert-success" style="margin-top:-17px;font-weight:bold">
            '.$count.' Item deleted successfully
            </div>


';
        $count = 0;
}
    
}

 

Write below code in view(home.php) or paste the following code in home.php file under the directory(application/views/) which we created in step 3.

<!DOCTYPE html>
<!-- To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools | Templates and open the template in the editor. -->
<html>
    <head>
        <meta charset="UTF-8">
        <title>Trycatch Classes Codeigniter tutorial</title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
        <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%20src%3D%22https%3A%2F%2Fcode.jquery.com%2Fjquery-2.1.1.min.js%22%2F%3E%0A%20%20%20%20%20%20%20%20%3Cscript%20src%3D%22https%3A%2F%2Fmaxcdn.bootstrapcdn.com%2Fbootstrap%2F3.2.0%2Fjs%2Fbootstrap.min.js%22%3E%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />
    </head>
    <body>
<div class="container">
<div class="row clear_fix">
<div class="col-md-12">
<div class="row clear_fix">
<div class="col-md-12" style="position: relative">
<blockquote>
<h3>Delete multiple records based on check box in php codeigniter<small>By Trycatch Classes</small></h3>
<small><a href="http://www.trycatchclasses.com/delete-multiple-records-using-checkbox-in-php-codeigniter/">Back to Article</a></small></blockquote><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cstyle%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23response%7Bdisplay%3A%20none%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20div%20%23fb%2C%20div%20%23gp%2C%20div%20%23tw%7Bdisplay%3A%20inline-block%3B%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23fb%7Bwidth%3A%20180px%3B%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23gp%7Bwidth%3A%20%20100px%3B%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23tw%7Bwidth%3A%20180px%3B%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fstyle%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;style&gt;" title="&lt;style&gt;" />
<div id="fb">
<div class="fb-like" data-href="https://www.facebook.com/TryCatchClasses/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="true"></div></div><div id="tw">
<a href="https://twitter.com/trycatchclasses" class="twitter-follow-button" data-show-count="false" data-size="medium">Follow @trycatchclasses</a>
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%3E!function(d%2Cs%2Cid)%7Bvar%20js%2Cfjs%3Dd.getElementsByTagName(s)%5B0%5D%2Cp%3D%2F%5Ehttp%3A%2F.test(d.location)%3F'http'%3A'https'%3Bif(!d.getElementById(id))%7Bjs%3Dd.createElement(s)%3Bjs.id%3Did%3Bjs.src%3Dp%2B'%3A%2F%2Fplatform.twitter.com%2Fwidgets.js'%3Bfjs.parentNode.insertBefore(js%2Cfjs)%3B%7D%7D(document%2C%20'script'%2C%20'twitter-wjs')%3B%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" /></div></div></div>
<div class="row clear_fix">
<div class="col-md-12" id="respose" style="margin-top:3% "></div></div>
<table class="table">
<thead>
<tr><th><input id="selecctall" type="checkbox">&nbsp;Check All</th>
<th>S. NO.</th>
<th>Country code</th>
<th>Country name</th>
</tr>
</thead>
<tbody><?php $sno = 1; ?>
<?php foreach ($result->result() as $row): ?>
<tr class="tbl_view" id="<?php echo $row->id ?>">
<td>
<input name="checkbox[]" class="checkbox1" type="checkbox" id="checkbox[]" value="<?php echo $row->id ?>"> </td>
<td>
<?php echo $sno; ?>
</td>
<?=$row->code ?>
</td>
<td>
<?=$row->name?>
</td>
</tr>
<?php $sno = $sno + 1; endforeach; ?>
</tbody>
</table>
<button class="btn btn-warning btn-sm pull-left" id="del_all">Delete selected</button>
<a href="<?php echo base_url() ?>home/insert" class="btn btn-warning btn-sm pull-right addrecord">Add Records</a>
</div>
</div>
</div>
   

        <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%24(document).ready(function()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20resetcheckbox()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24('%23selecctall').click(function(event)%20%7B%20%20%2F%2Fon%20click%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(this.checked)%20%7B%20%2F%2F%20check%20select%20status%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24('.checkbox1').each(function()%20%7B%20%2F%2Floop%20through%20each%20checkbox%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.checked%20%3D%20true%3B%20%20%2F%2Fselect%20all%20checkboxes%20with%20class%20%22checkbox1%22%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24('.checkbox1').each(function()%20%7B%20%2F%2Floop%20through%20each%20checkbox%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.checked%20%3D%20false%3B%20%2F%2Fdeselect%20all%20checkboxes%20with%20class%20%22checkbox1%22%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24(%22%23del_all%22).on('click'%2C%20function(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20checkValues%20%3D%20%24('.checkbox1%3Achecked').map(function()%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20%24(this).val()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D).get()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log(checkValues)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24.each(%20checkValues%2C%20function(%20i%2C%20val%20)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24(%22%23%22%2Bval).remove()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%2F%2F%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24.ajax(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20url%3A%20'%3C%3Fphp%20echo%20base_url()%20%3F%3Ehome%2Fdelete'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20'post'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20data%3A%20'ids%3D'%20%2B%20checkValues%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D).done(function(data)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24(%22%23respose%22).html(data)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24('%23selecctall').attr('checked'%2C%20false)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24(%22.addrecord%22).click(function(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20url%20%3D%20%24(this).attr('href')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24.ajax(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20'POST'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20url%3A%20url%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D).done(function()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.location.reload()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20%20resetcheckbox()%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24('input%3Acheckbox').each(function()%20%7B%20%2F%2Floop%20through%20each%20checkbox%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.checked%20%3D%20false%3B%20%2F%2Fdeselect%20all%20checkboxes%20with%20class%20%22checkbox1%22%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />
    </body>
</html>

So finally, our code is ready. Now hit the url (‘http://localhost/your_application_folder’) and enjoy the code.

Don’t forget to share your doubts in the comment box and also share this post on social media and with your friends becaus“You share, I share, let’s make the world aware”.

You may want to take a look at the following related posts:

Also for more awesome tutorials, please don’t forget to like our facebook page TryCatch Classes.

Bonus: We also give training on following topics:

                       1. Angular Training in Mumbai.

2. Bootstrap Training Course in Mumbai.

3.  Web Designing Training in Mumbai.

4. UI / UX Training.

5. IOS Training Institute in Mumbai.