FOLLOW

Thursday, February 1, 2018

How to insert data in a table with CodeIgniter

CodeIgniter

CodeIgniter is a powerful PHP framework with a very small footprint, built for developers who need a simple and elegant toolkit to create full-featured web applications.
This snippet gives you the simple and best explanation to insert data into a MySQL table.
This process contains three major steps.
  1. View
  2. Controller
  3. Model
1. View 

demo.php (place it in your view folder)

Which is the form where you will insert data
<html>
<head>
    <style>
        .container {
            width: 200px;
            height: 100px;
            padding: 200px;

        }
        label {
            padding: 10px;
        }

        .btn {
            float: right;
            padding: 5px;
        }
    </style>
</head>
<body class="container">
<form method='POST'>

    <label>Name</label>
    <input type="text" name="name"><br><br>

    <label>Number</label>
    <input type="text" name="number"><br><br>

 <input class="btn" type="submit" name="submitdemo" value="Submit">

</form>
</body>
</html>

2.Controller

Welcome.php(place it in your controller folder)
which will act as a bridge between your model and controller.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller
{
    public function demo()
    {
        $this->load->model('levels');
        $name = $this->input->post('name');

        $number = $this->input->post('number');

        $data = array(
            'name' => $name,
            'number' => $number,
        );

        if (isset($_POST['submitdemo'])) {
            if (($name !== '')) {
                $this->levels->demo($data);
            } else {
                echo 'Please fill fields';
            }

        }
        $this->load->view('demo.php', $data);

    }
}
?>
3. Model
Levels.php(place it in your model folder)
Model will insert the data into table colected from form(demo.php)
through controller(Welcome.php)
<?php
class Levels extends CI_Model
{
    public function demo($data)
    {
        $this->load->database();
        $this->db->insert('demo', $data);
        echo 'Data inserted successfully';
    }
}
?>
MySql:
Run this query to create table in your database.

CREATE TABLE `demo` (
`id` int(11) NOT NULL,
`name` varchar(24) NOT NULL,
`number` varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;