Как передать значение со страницы просмотра в контроллер - PullRequest
0 голосов
/ 10 декабря 2018

Я вызываю функцию контроллера через тег ahref, и я хочу передать текущую запись no контроллеру, чтобы обновить текущее значение записи, хранящееся в $ currentID, и я передаю это значение в типе ввода..но я этого не сделалполучить значение со страницы просмотра .. я попробовал var_dump ($ id) .. он показывает нулевой код контроллера для обновления:

    public function update($id='')
{

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

        $id=$this->input->post('update');
        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', $id);
$this->db->update('daybook', $data);
$this->session->set_flashdata('Add1', 'Updated Successfully'); 
redirect('BookKeeping/daybook','refresh');
}

вызов обновления

<a href="<?=site_url('BookKeeping/update/'.$currentID)?>" class="btn btn-info btn-"><i class="icon-new position-left">
                        <input type="hidden" name="update" id="id" value="<?php echo $currentID?>">
                    </i>Update</a>

Помогите мне пройтитекущее значение для контроллера .. Заранее спасибо

Ответы [ 3 ]

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

удалить поле ввода.Вы не можете передать любые входные данные с помощью

<a href="<?=site_url('BookKeeping/update/'.$currentID)?>" class="btn btn-info btn-"><i class="icon-new position-left"></i>Update</a>

Попробуйте это

public function update($id=''){

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

$id=$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', $id);
$this->db->update('daybook', $data);
$this->session->set_flashdata('Add1', 'Updated Successfully'); 
redirect('BookKeeping/daybook','refresh');

}

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

В вашем коде

Поскольку я вижу, что ваш код контроллера опубликован в вопросе, вы не передали никакого значения в переменную $currentID, которая может быть неопределенной, поэтому сначала попробуйте var_dump ваш *Переменная 1005 * и проверьте ее значение.

Выполните тест

Пожалуйста, попробуйте назначить статический идентификатор для функциональности.Ваше статическое значение будет передано методу в качестве аргумента.Убедившись, что статическое значение работает, вы можете узнать, в чем проблема в переменной $currentID.

$data['currentID'] = $someValueFromDB;
$this->load->view('some_view.php',$data);

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

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

вы отправляете значение в URL, измените это

$id=$this->input->post('update');

На

$id=$this->uri->segment('3');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...