当我单击view
<td>
时,我希望从表行中加载具有隐藏ID的新页面作为发布数据。这是来自管理员/合同的代码:
$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>";
}
这是来自管理控制器的代码:
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
回显时不输出任何内容。我需要帮助;
这里的问题是您将用户重定向到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>";
}
"<input name='contract_id' id='contract_id' value='".$id."' hidden/>".