Insert multiple checkbox data using Codeigniter

Insert multiple checkbox data using Codeigniter
Published May 05,2019 by Kailash Singh
4 Comments 14257 Views
In this tutorial, we are going to learn about how to create Insert multiple checkbox data using Codeigniter.
Step 1 :- Create tables in Database.
In this step, we are going to create two tables in database.
1) Students Table
CREATE TABLE `elevenstech`.`students` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(200) NOT NULL , `email` VARCHAR(250) NOT NULL , `phone` VARCHAR(50) NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;
2) Added Student Table
CREATE TABLE `elevenstech`.`added_student` ( `id` INT NOT NULL AUTO_INCREMENT , `student_id` INT(11) NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;
Step 2 :- Insert Data in Student Table.
INSERT INTO `students` (`id`, `name`, `email`, `phone`) VALUES
(1, 'Kailash Singh', '[email protected]', '8376786284'),
(2, 'Amit Singh', '[email protected]', '8767327272'),
(3, 'Kailash Sharma', '[email protected]', '8376868378'),
(4, 'Siddarth Singh', '[email protected]', '9278297928'),
(5, 'Fari Singh', '[email protected]', '9287973287'),
(6, 'Avdhesh Singh', '[email protected]', '8926836988'),
(7, 'Lokesh Singh', '[email protected]', '9328797389'),
(8, 'Lakhan Verma', '[email protected]', '9289728939'),
(9, 'Manish Singh', '[email protected]', '8973298793'),
(10, 'Lovely Singh', '[email protected]', '9328987393'),
(11, 'Vikram Rana', '[email protected]', '9821797983'),
(12, 'Siddarth Verma', '[email protected]', '8732683233');
Step 3 :- Create Model in Models Folder (Student_model.php)
In this step we are fetching the data between the two tables Using join query.
<?php
class Student_model extends CI_Model{
public function student_list()
{
return $this->db->select('s.*, as.student_id')
->from('students as s')
->join('added_student as as','as.student_id = s.id','left')
->get()
->result();
}
}
?>
Step 4 :- Create Controller in Controllers Folder (Students.php)
In this step, we are going to pass the values from model to view.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Students extends CI_Controller
{
public function index()
{
$this->load->model('student_model');
$student_list = $this->student_model->student_list();
$this->load->view('students',['student_list'=>$student_list]);
}
}
?>
Step 5 :- Create view in views Folder (students.php)
In this step, we are creating a table to list all the data and also create a checkbox then we will put the condition in checkbox field to check the data exist in another table or not.
like this.
<input type="checkbox" name="student_id[]" value="<?php echo $student->id; ?>" <?php if($student->id == $student->student_id){echo'checked disabled';} ?>>
Here is the full code:-
In this code, we are also creating a form action to add multiple checkbox data.
<form action="<?php echo base_url(); ?>students/add_selected_student" method="post">
<button type="submit" name="submit" class="btn btn-danger">Add Selected</button>
<table class="table table-striped table-bordered" style="width:100%">
<thead>
<tr class="btn-primary">
<th></th>
<th>S.no.</th>
<th>Name</th>
<th>Email</th>
<th>Phone</th>
</tr>
</thead>
<tbody>
<?php $i = 1; foreach ($student_list as $student) { ?>
<tr>
<td>
<input type="checkbox" name="student_id[]" value="<?php echo $student->id; ?>" <?php if($student->id == $student->student_id){echo'checked disabled';} ?>>
</td>
<td><?php echo $i; ?></td>
<td><?php echo $student->name; ?></td>
<td><?php echo $student->email; ?></td>
<td><?php echo $student->phone; ?></td>
</tr>
<?php $i++; } ?>
</tbody>
</table>
</form>
Step 6 :- Create Add Multiple Checkbox data query in Controller (Student_model.php)
public function add_selected_student()
{
$student_id = $this->input->post('student_id'); //here i am getting student id from the checkbox
for ($i=0; $i < sizeof($student_id); $i++)
{
$data = array('student_id' => $student_id[$i]);
$this->db->insert('added_student',$data);
}
$this->session->set_flashdata('msg',"Students details has been added successfully");
$this->session->set_flashdata('msg_class','alert-success');
return redirect('students');
}
Step 7 :- Create Success Message in View (students.php)
<?php if($error = $this->session->flashdata('msg')){ ?>
<div class="alert alert-success" id="msg">
<a href="#" class="close" data-dismiss="alert">×</a>
<strong>Success!</strong> <?php echo $error; ?>
</div>
<?php } ?>
Hope this will help our developers.
Because we believe Mantra means CodingMantra
4 Comments
Kaliraj K Feb 16, 2020
hi, plz send ur source code to my id: [email protected]. its very thankful to me.
Dharambir Feb 03, 2022
I have two tables, I want to copy some columns of first table into second table ,firstly by drop down value i fetched view list,then by checked box values I tried to copy into second table but not success
I have an example in php as such but not in codeligniter
Pls give idea of such type ex. Thanks
Elevenstech Feb 04, 2022
Please share your code on my mail ([email protected]). I will check your code :-)
SEARCH POST HERE
Support Us
Subscribe My YouTube Channel
Join Our Telegram Channel & Support Eachother
CATEGORIES
INTERVIEW QUESTIONS
PROJECT SOURCE CODE
POPULAR POSTS
Elevenstech Web Tutorials
Elevenstech Web Tutorials helps you learn coding skills and enhance your skills you want.
As part of Elevenstech's Blog, Elevenstech Web Tutorials contributes to our mission of “helping people learn coding online”.
Read More
Newsletter
Subscribe to get the latest updates from Elevenstech Web Tutorials and stay up to date