Как сделать вставку и обновление на той же странице просмотра?

Моя проблема заключается в том, что вставка и обновление работают нормально, когда я делаю отдельно … но когда я делаю вставку в присутствии кнопки обновления, я получаю нулевые значения … Как я могу вставить и обновить на той же странице представления ..
Код контроллера для вставки:

 public function insert($id='')
{
$session_data = $this->session->userdata('logged_in');
$data['username'] = $session_data['username'];

$dc=$this->input->post('dc');
if($dc=='c'){
$amount=$this->input->post('credit1');
}
else if ($dc=='d') {
$amount=$this->input->post('debit');
}

$data=array(
'date' =>$this->input->post('TDate'),
'code' =>$this->input->post('TName'),
'project' =>$this->input->post('TName1'),
'part' =>$this->input->post('part1'),
'part1' =>$this->input->post('part2'),
'dc'=>$this->input->post('dc'),
'amount'=>$amount,
);

$this->db->insert('daybook',$data);
$this->session->set_flashdata('Add', 'Inserted Successfully');
redirect('BookKeeping/daybook','refresh');
}

Код контроллера для обновления:

public function update($id='')
{

$session_data = $this->session->userdata('logged_in');
$data['username'] = $session_data['username'];

$id=$this->input->post('id');
echo "<pre>";var_dump($id);
$dc=$this->input->post('dc');
if($dc=='c'){
$amount=$this->input->post('credit1');
}
else if ($dc=='d') {
$amount=$this->input->post('debit');
}

$data=array(
'date' =>$this->input->post('TDate'),
'code' =>$this->input->post('TName'),
'project' =>$this->input->post('TName1'),
'part' =>$this->input->post('part1'),
'part1' =>$this->input->post('part2'),
'dc'=>$this->input->post('dc'),
'amount'=>$amount,
);
$this->db->where('recno', $_POST['id']);
$this->db->update('daybook', $data);
$this->session->set_flashdata('Add1', 'Updated Successfully');
redirect('BookKeeping/daybook','refresh');
}

Просмотр страницы для вставки и обновления:

<input type="text" class="form-control input-xs datepicker-dates" placeholder="Pick a date&hellip;" id="TDate" name="TDate"value="<?php if(!empty($result) && !empty($result['date'])){ echo $result['date']; } ?>" required="">

<input type="text"  id="TAmt" class="form-control input-xs qty" name="part1" style="width: 370px;" placeholder="Particulars" required value="<?php if(!empty($result) && !empty($result['part'])){ echo $result['part']; } ?>">

<input type="text"  id="TAmt" class="form-control input-xs qty" name="part2" style="width: 370px;" placeholder="Particulars" required value="<?php if(!empty($result) && !empty($result['part'])){ echo $result['part1']; } ?>">

-1

Решение

Вы можете передать перенаправление последней вставки идентификатора через (‘BookKeeping / daybook’. $ Last_insert_id ‘)

Вставить запрос:

  $this->db->insert('daybook',$data);
$this->session->set_flashdata('Add', 'Inserted Successfully');
redirect('BookKeeping/daybook/'.$last_insert_id,'refresh');

Обновить запрос: обновить идентификатор

$this->db->where('recno', $_POST['id']);
$this->db->update('daybook', $data);
$this->session->set_flashdata('Add1', 'Updated Successfully');
redirect('BookKeeping/daybook/'.$_POST['id'],'refresh');

Получить идентификатор в функции дневника и использовать запрос выбора, чтобы получить данные для передачи файла просмотра.
пример :

 function daybook($id= "")
{
$this->db->select('*');
$this->db->from('daybook');
$this->db->where('recno', $_POST['id']);
$query = $this->db->get();
$result = $query->result_array();
$data['result'] = $result;
$this->load->view('daybook', $data['result']);
}

Это может помочь вам.

0

Другие решения

в каком массиве поступают ваши данные. используйте этот массив так: попробуйте это, я надеюсь, это поможет вам.

<?php echo isset($arrayName) ? "Update" : "Add"; ?>

<input name="part" type="text" class="form-control" value="<?php echo isset($arrayName) && isset($arrayName['part']) ? $arrayName['part'] : '' ?>" id="part" placeholder="part">
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector