我有一个客户列表,点击每个客户端我希望仅显示该特定客户的详细信息,为此我使用了以下代码。
客户列表的视图是这样的
id fullname
1 A
2 B
3 C
当我点击A时,我会被重定向到其网址为http://localhost/projname/admin/client/1
的其他网页当我点击B时,我会被重定向到其网址为的其他网页 http://localhost/projname/admin/client/2
等等......根据点击情况,ID会不断变化
但问题是,当我尝试在client_detail_view.php页面中显示数据时,我只得到第一个id的数据,即id = 1
codeigniter的结构是
controllers
-admin.php
model
-admin_model.php
views
-admin
-client_view.php
-client_detail_view.php
admin.php的代码
public function client($clientid)
{
$data['client_data'] = $this->admin_model->get_client($clientid);
$this->load->view('admin/client_detail_view',$data);
}
admin_model.php的代码
public function get_client($id)
{
$query = $this->db->get('users');
$this->db->where('id', $id);
return $query->row();
}
client_view.php的代码
<?php foreach($client as $perclient): ?>
<tr>
<?php echo "<td><a href='". base_url() ."admin/client/".$perclient->id."'>" . $perclient->fullname . "</a></td>"; ?>
<td><?php echo $perclient->email; ?></td>
<td><?php echo $perclient->contactno; ?></td>
</tr>
<?php endforeach; ?>
client_detail_view.php的代码
<?php echo $client_data->fullname; ?>
答案 0 :(得分:0)
似乎查询是运行beofre设置所以它正确地返回第一个记录。 设置条件beofre查询
答案 1 :(得分:0)
您可以更改模型功能:
<强> admin_model.php 强>
public function get_client($id)
{
$this->db->where('id' => $id);
$query = $this->db->get('users');
return $query->row();
}