On same page, how to insert update delete data in PHP from MySQL database. In this tutorial, we will show you how to fetch insert update delete data in PHP from MySQL database using ajax.
In this example, we will use jQuery, ajax, MySQL, and Bootstrap with PHP to create insert update delete on same page or one-page app.
Note that, using jQuery and ajax we will insert, edit and update data from MySQL database in PHP on same page app.
Table
- id
- name
- description
- date
Controller
// --------------------------Task-----------------------
public function create_task($id = null){$data['title'] = 'Create Task';$this->form_validation->set_rules('name','name','required');$this->form_validation->set_rules('description','description','required');/*-----------------------------------*/$data['task'] = (object)$userdata = array('id' => $this->input->post('id'),'name' => $this->input->post('name'),'description' => $this->input->post('description'),'date' => date("Y-m-d h:i:s"),);
/*-----------------------------------*/if ($this->form_validation->run()){if (empty($id)){if ($this->package_model->create_task($userdata)) {$this->session->set_flashdata('message', display('save_successfully'));} else {$this->session->set_flashdata('exception', display('please_try_again'));}redirect("backend/package/package/create_task/");}else{if ($this->package_model->update_task($userdata)) {$this->session->set_flashdata('message', display('update_successfully'));} else {$this->session->set_flashdata('exception', display('please_try_again'));}redirect("backend/package/package/create_task/$id");}}else{if(!empty($id)) {$data['title'] = 'Edit Task';$data['task'] = $this->package_model->single_task($id);}$data['content'] = $this->load->view("backend/package/create_task", $data, true);$this->load->view("backend/layout/main_wrapper", $data);}}public function view_task(){$data['title'] = 'View Task';$data['viewtask'] = $this->package_model->getViewTask();$data['content'] = $this->load->view('backend/package/view_task', $data, true);$this->load->view('backend/layout/main_wrapper', $data);}public function delete_task($id = null){if ($this->package_model->delete_task($id)) {$this->session->set_flashdata('message', display('delete_successfully'));} else {$this->session->set_flashdata('exception', display('please_try_again'));}redirect("backend/package/package/view_task");}// --------------------------Task End-----------------------
Model
// --------------------------Task-----------------------
public function create_task($data = array())
{
return $this->db->insert('create_task', $data);
// echo $this->db->last_query();die();
}
public function update_task($data = array())
{
return $this->db->where('id', $data["id"])
->update("create_task", $data);
// echo $this->db->last_query();die();
}
public function single_task($id = null)
{
return $this->db->select('*')
->from('create_task')
->where('id', $id)
->get()
->row();
}
public function getViewTask()
{
return $this->db->select("*")
->from('create_task')
->order_by('date','desc')
->get()
->result();
}
public function delete_task($id = null)
{
return $this->db->where('id', $id)
->delete("create_task");
}
// --------------------------Task End-----------------------
View Page
<script src="https://cdn.ckeditor.com/4.11.4/standard-all/ckeditor.js"></script>
<div class="app-content content">
<div class="content-wrapper">
<div class="row match-height">
<!-- my task Timeline -->
<div class="col-xl-12 col-lg-12">
<div class="card">
<div class="card-header border-0">
<h4 class="card-title"><?php echo (!empty($title)?$title:null) ?></h4>
<div class="heading-elements">
<ul class="list-inline">
<li><a data-action="reload"><i class="feather icon-rotate-cw"></i></a></li>
<li><a data-action="expand"><i class="feather icon-maximize"></i></a></li>
</ul>
</div>
</div>
<div class="card-content">
<div class="card-body">
<?php echo form_open_multipart("backend/package/package/create_task/$task->id") ?>
<?php echo form_hidden('id', $task->id) ?>
<div class="form-group row">
<label for="name" class="col-sm-4 col-form-label"><?php echo display('name') ?>*</label>
<div class="col-sm-8">
<input name="name" value="<?php echo $task->name ?>" class="form-control" placeholder="<?php echo display('name') ?>" type="text" id="name" data-toggle="tooltip" title="<?php echo display('tooltip_name') ?> ">
</div>
</div>
<div class="form-group row">
<label for="description" class="col-sm-4 col-form-label">Description</label>
<div class="col-sm-8">
<textarea cols="80" name="description" value="<?php echo $task->description ?>" class="form-control" placeholder="<?php echo display('description') ?>" type="text" id="description" data-toggle="tooltip" title="<?php echo display('tooltip_description') ?>"><?php echo $task->description ?></textarea>
</div>
</div>
<div class="row">
<div class="col-sm-9 col-sm-offset-3">
<a href="<?php echo base_url('admin'); ?>" class="btn btn-primary w-md m-b-5"><?php echo display("cancel") ?></a>
<button type="submit" class="btn btn-success w-md m-b-5"><?php echo $task->id?display("update"):display("create") ?></button>
</div>
</div>
<?php echo form_close() ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
// We need to turn off the automatic editor creation first.
CKEDITOR.disableAutoInline = true;
CKEDITOR.replace('editor3', {
extraPlugins: 'sourcedialog',
removePlugins: 'sourcearea'
});
</script>