For any queries you can reach us at infovistarindia@gmail.com / WhatsApp us: +919158876092

Insert operation using AJAX in CodeIgniter

Overview

In this example, I am going to show you how to insert data in the database using the CodeIgniter framework PHP.

SQL query to create a table in MySQL

CREATE TABLE user_info (
  `id` int(11) NOT NULL,
  `first_name` varchar(30) NOT NULL,
  `last_name` varchar(30) NOT NULL,
  `email` varchar(30) NOT NULL,
   PRIMARY KEY (id)
);

In CodeIgniter we use, insert() function to insert data into database.

Basic syntax:

insert('table_name', 'array_of_object');

Here, we are using 3 files for insert data into MySQL:

Controller: 	User.php		application\controllers\User.php
Model:		User_model.php		application\models\User_model.php
View:		add.php			application\views\add.php

config/autoload.php

$autoload['libraries'] = array('database');
$autoload['helper'] = array('url', 'form');

applications/views/add.php

<!DOCTYPE html>
<html>

<head>
	<title>Add user</title>
</head>

<body>
	<form method="post" id="add-user-form" action="<?php echo base_url('user/add_user'); ?>">
		<table width="600" border="1" cellspacing="5" cellpadding="5">
			<tr>
				<td width="230">First Name</td>
				<td width="329">
					<input type="text" name="txtFirstName" id="txtFirstName" />
				</td>
			</tr>
			<tr>
				<td>Last Name</td>
				<td>
					<input type="text" name="txtLastName" id="txtLastName" />
				</td>
			</tr>
			<tr>
				<td>Email ID</td>
				<td>
					<input type="email" name="txtEmail" id="txtEmail" />
				</td>
			</tr>
			<tr>
				<td colspan="2" align="center">
					<input type="submit" name="btnAddUser" value="Add user" />
				</td>
			</tr>
		</table>
	</form>

	<!-- Script -->
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

	<script type="text/javascript">
		$(document).ready(function(){
			$("#add-user-form").submit(function(e) {

				var data = $("#add-user-form").serialize();
				var url = "<?php echo base_url('user/add_user'); ?>";

				// Syntax
				// $(selector).post(URL,data,function(data,status,xhr),dataType);

				$.post(
					url,
					data,
					function(result) {
						alert(result.message);
					},
					'json');
			});
		});
	</script>

</body>

</html>

applications/controllers/User.php

class User extends CI_Controller {

	public function __construct() {
		/*call CodeIgniter's default Constructor*/
		parent::__construct();

		/*load model*/
		$this->load->model('User_model');
	}

	public function add() {
		$this->load->view('add');
	}

	public function add_user() {
		$first_name	= $this->input->post('txtLastName');
		$last_name	= $this->input->post('txtLastName');
		$email		= $this->input->post('txtEmail');
	
		$data = [
			'first_name'		=> $first_name,
			'last_name'		=> $last_name,
			'email'			=> $email,
		];

		$result = $this->user_model->add($data);
		if($result) {
			echo json_encode(["message" => "New user is registered successfully."]);
		} else {
			echo json_encode(["message" => "Something went wrong."]);;
		}
	}
}

applications/models/User_model.php

class User_model extends CI_Model {
	/*Insert*/
	function add($data) {
		return $this->db->insert('user_info', $data);
	}
	
}