Как сделать вставку и обновление на той же странице просмотра? - PullRequest
0 голосов
/ 10 декабря 2018

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

 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']; } ?>">

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

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

<?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 голосов
/ 10 декабря 2018

Вы можете передать перенаправление последней вставки идентификатора через ('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']);
    }

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...