I was using ajax calls. when I click on the edit link it would pop up a modal with all the information. I now want to change it, so that it goes to an edit page instead. The part I need changed is the onclick on the edit link bellow in the code from edit_record to instead call a function in my controller called edit. Any help would be appreciated I spent quit a long time trying different ways and keep getting errors.
Here is the controller function code called ajax_list
public function ajax_list()
{
$list = $this->your_table->get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $your_table) {
$no++;
$row = array();
$row[] = $your_table->name;
$row[] = $your_table->title;
$row[] = $your_table->body;
//add html for action
$row[] = '<a class="btn btn-sm btn-link " href="javascript:void()" title="Edit" onclick="edit_record('."'".$your_table->id."'".')"><i class="glyphicon glyphicon-pencil"></i> Edit</a>
<a class="btn btn-sm text-warning" href="javascript:void()" title="Hapus" onclick="delete_record('."'".$your_table->id."'".')"><i class="glyphicon glyphicon-trash"></i> Delete</a>';
$data[] = $row;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->your_table->count_all(),
"recordsFiltered" => $this->your_table->count_filtered(),
"data" => $data,
);
//output to json format
echo json_encode($output);
}
Here is the code in my your_controller called edit
//loads a single record with the data dispalyed for editing
function edit($id)
{
$data['r']=$this->your_table->get_by_id($id);
$this->load->view('pages/edit', $data);
}
//updates data in the database from the edit function
function save_edit()
{
$id=$this->input->post('txtid');
$data=array(
'name'=>$this->input->post('txtname'),
'title'=>$this->input->post('txttitle'),
'body'=>$this->input->post('txtbody'));
$this->db->where('id', $id);
$this->db->update('your_table', $data);
redirect('your_controller/index');
}