我如何通过控制器将一个视图的数据传递给另一个视图?

问题描述 投票:0回答:1

我想加载一个新的页面,当我点击一个表行的隐藏ID作为一个帖子数据时,我想把这个隐藏ID作为一个帖子数据。view <td>.这是Admincontracts的代码。

    $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);
   }

以及admincontract_detail视图中的代码。

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

问题是 $id 我需要帮助,请。

php codeigniter post model-view-controller controller
1个回答
0
投票

这里的问题是你把用户重定向到contract_detail vie锚元素,如果你想把id传到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>";

}


0
投票
"<input name='contract_id' id='contract_id' value='".$id."' hidden/>".

请试试这行代码。希望能帮到你。

© www.soinside.com 2019 - 2024. All rights reserved.