In this tutorial, We will inform you how to perform crud operation in CodeIgniter 4. Codeigniter 4 CRUD (Create Read Update Delete) Tutorial For Beginners.
if you want to create CRUD operation in CodeIgniter 4, so you can follow the below steps.
Overview
Step 1: Download Codeigniter
Step 2: Basic Configurations
Step 3: Create a Database in table
Step 4: Connect to Database
Step 5: Create Controller and Model
Step 6: Create Views Files
Step 7: Run The Application
Step 1: Download Codeigniter
If you want to download or install CodeIgniter 4 then you can below Url.
How To Install Codeigniter 4 Using Manual, Composer, Git
Step 2: Basic Configurations
If you want to Basic Configurations in your project then you can below Url.
Codeigniter 4 Removing Index.Php From Url
Step 3: Create a Database in table
In this step, We will create the database and table.
CREATE TABLE IF NOT EXISTS `students` ( `id` int(11) NOT NULL AUTO_INCREMENT, `first_name` varchar(64) NOT NULL, `last_name` varchar(64) NOT NULL, `address` text NOT NULL, `email` varchar(64) NOT NULL, `mobile` varchar(12) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;
Step 4: Connect to Database
Go to “app/Config/Database.php” folder and open database.php file some changes in this file like as hostname, database username, database password and database name.
public $default = [ 'DSN' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'codeigniter4_crud', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'cacheOn' => false, 'cacheDir' => '', 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, ];
Step 5: Create Controller and Model
In this step, we will a create “Student.php” controller and “StudentModel.php” model.
app/Controllers/Student.php
<?php namespace App\Controllers; use CodeIgniter\Controller; use App\Models\StudentModel; class Student extends Controller { public function index() { $model = new StudentModel(); $data['students_detail'] = $model->orderBy('id', 'DESC')->findAll(); return view('list', $data); } public function create() { return view('add'); } public function store() { helper(['form', 'url']); $model = new StudentModel(); $data = [ 'first_name' => $this->request->getVar('txtFname'), 'last_name' => $this->request->getVar('txtLname'), 'address' => $this->request->getVar('txtAddress'), 'email' => $this->request->getVar('txtEmail'), 'mobile' => $this->request->getVar('txtMobile'), ]; $save = $model->insert($data); return redirect()->to( base_url('student') ); } public function edit($id = null) { $model = new StudentModel(); $data['student'] = $model->where('id', $id)->first(); return view('edit', $data); } public function update() { helper(['form', 'url']); $model = new StudentModel(); $id = $this->request->getVar('id'); $data = [ 'first_name' => $this->request->getVar('txtFname'), 'last_name' => $this->request->getVar('txtLname'), 'address' => $this->request->getVar('txtAddress'), 'email' => $this->request->getVar('txtEmail'), 'mobile' => $this->request->getVar('txtMobile'), ]; $save = $model->update($id,$data); return redirect()->to( base_url('student') ); } public function delete($id = null){ $model = new StudentModel(); $data['user'] = $model->where('id', $id)->delete(); return redirect()->to( base_url('student') ); } } ?>
app/Models/StudentModel.php
<?php namespace App\Models; use CodeIgniter\Database\ConnectionInterface; use CodeIgniter\Model; class StudentModel extends Model { protected $table = 'Students'; protected $allowedFields = ['first_name','last_name','address','email', 'mobile']; } ?>
Step 6: Create Views Files
Finally, we will create the list.php, add.php, and edit.php in the app/views directory.
app/views/list.php
<html> <head> <title>Codeigniter 4 CRUD (Create Read Update Delete) Tutorial For Beginners - XpertPhp</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script </head> <body> <table border="1" align="center"> <tr> <td colspan="5" align="right"><a href="<?php echo site_url('student/create') ?>">Add</a></td> </tr> <tr> <td>First Name</td> <td>Last Name</td> <td>Email</td> <td>Mobile</td> <td>Action</td> </tr> <?php foreach($students_detail as $sd){ ?> <tr> <td><?php echo $sd['first_name']; ?></td> <td><?php echo $sd['last_name']; ?></td> <td><?php echo $sd['email']; ?></td> <td><?php echo $sd['mobile']; ?></td> <td><a href="<?php echo base_url(); ?>/student/edit/<?php echo $sd['id']; ?>">Edit</a> <a href="<?php echo base_url(); ?>/student/delete/<?php echo $sd['id']; ?>">Delete</a></td> </tr> <?php } ?> </table> </body> </html>
app/views/add.php
<form method="post" name="frmAdd" action="<?php echo site_url('student/store');?>"> <table align="center"> <tr> <td colspan="2" align="center">Add Record</td> </tr> <tr> <td>First Name</td> <td><input type="text" name="txtFname"> </td> </tr> <tr> <td>Last Name</td> <td><input type="text" name="txtLname"> </td> </tr> <tr> <td>Address</td> <td><textarea name="txtAddress" rows="4" cols="16"></textarea> </td> </tr> <tr> <td>Email</td> <td><input type="text" name="txtEmail"> </td> </tr> <tr> <td>Mobile</td> <td><input type="text" name="txtMobile"> </td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="Add" name="btnadd"> </td> </tr> </table> </form>
app/views/edit.php
<form method="post" name="frmEdit" action="<?php echo base_url('student/update');?>"> <table align="center"> <tr> <td colspan="2" align="center">Edit Record</td> </tr> <input type="hidden" name="id" class="form-control" id="id" value="<?php echo $student['id'] ?>"> <tr> <td>First Name</td> <td><input type="text" name="txtFname" value="<?php echo $student['first_name']; ?>"> </td> </tr> <tr> <td>Last Name</td> <td><input type="text" name="txtLname" value="<?php echo $student['last_name']; ?>"> </td> </tr> <tr> <td>Address</td> <td><textarea name="txtAddress" rows="4" cols="16"><?php echo $student['address']; ?></textarea> </td> </tr> <tr> <td>Email</td> <td><input type="text" name="txtEmail" value="<?php echo $student['email']; ?>"> </td> </tr> <tr> <td>Mobile</td> <td><input type="text" name="txtMobile" value="<?php echo $student['mobile']; ?>"> </td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="Edit" name="btnEdit"> </td> </tr> </table> </form>
Step 7: Run The Application
Now we will run our example using the below Url in the browser.
http://localhost/codeigniter4_crud/student
We think would you like this article, so you can click on the “Download” button and you can download this demo article.