как я могу передать данные сообщения из одного представления в другое через контроллер - PullRequest
0 голосов
/ 26 мая 2020

Я хочу загрузить новую страницу со скрытым идентификатором из строки таблицы в качестве данных публикации, когда я нажимаю view <td>. Это код из Admin / contract:

    $count = 0;
    foreach ($data as $row) {
      $id = $row->_id;
      ++$count;
     echo "<tr>
         "<input name='contract_id' id='contract_id' value='$id' hidden/>".
         "<td class=\"id_td td_content\">".$count."</td>".
         "<td class='serial_td td_content'>".$row->_id."</td>".
         "<td class='organisation_td td_content'>".$row->organisation."</td>".
         "<td class='contract_td td_content'>".$row->title."</td>".
         "<td class='lot_no_td td_content'>".$row->serial_no."</td>".
         "<td class='pub_date_td td_content'>".substr($row->pub_date, 0, 10)."</td>".
         "<td class='view_td'><a href='".site_url('Admin/contract_detail')."'>view</td>";
     echo "</tr>";
   }

Это код из контроллера Admin:

    public function contract_detail(){
     $id = $this->input->post('contract_id');
     $result['id'] = $id;
     $this->load->view('admin/contract_detail', $result);
   }

И код в представлении admin / contract_detail:

    <?php
     echo "id = ". $id;
    ?>

Проблема в том, что $id ничего не выводит при эхе. Мне нужна помощь, пожалуйста;

Ответы [ 2 ]

0 голосов
/ 27 мая 2020
"<input name='contract_id' id='contract_id' value='".$id."' hidden/>".

Пожалуйста, попробуйте эту строку кода. Надеюсь, это поможет.

0 голосов
/ 26 мая 2020

Проблема здесь в том, что вы перенаправляете пользователя на элемент привязки contract_detail v ie, если вы хотите передать идентификатор на страницу contract_detail, вы должны отправить его как форму, а не ссылку

Например

измените ваш foreach на следующий

 foreach ($data as $row) {
  $id = $row->_id;
  ++$count;
 echo "<tr><form action='".site_url('Admin/contract_detail')."' method='post'>
     "<input name='contract_id' id='contract_id' value='$id' hidden/>".
     "<td class=\"id_td td_content\">".$count."</td>".
     "<td class='serial_td td_content'>".$row->_id."</td>".
     "<td class='organisation_td td_content'>".$row->organisation."</td>".
     "<td class='contract_td td_content'>".$row->title."</td>".
     "<td class='lot_no_td td_content'>".$row->serial_no."</td>".
     "<td class='pub_date_td td_content'>".substr($row->pub_date, 0, 10)."</td>".
     "<td class='view_td'><button type='submit'>view</button></td>";
 echo "</form></tr>";

}

...