我已经可以从数据库更新数据,但是问题是我只想更新一个数据,但是当我输入新数据时,它更新了数据库表中的所有数据
这是视图:
<form method="post" action="<?php echo base_url() ?>user/update_user_data">
<div class="form-group">
<label> Enter New first name</label>
<input type="text" name="firstname" class="form-control" />
</div>
<div class="form-group">
<label> Enter New last name </label>
<input type="text" name="lastname" class="form-control" />
</div>
<div class="form-group">
<label> Enter New fullname </label>
<input type="text" name="fullname" class="form-control" />
<div class="form-group">
<input type="submit" name="update" value="Update" class="btn btn-info" />
</div>
这是模型:
function update_data($id = FALSE)
{
if($id == FALSE){
$query = $this->db->get('user');
return $query->result_array();
}
$query = $this->db->get_where('user', array('id' => $id));
return $query->row_array();
}
public function update_user_data($data)
{
$data = array('firstname' => $this->input->post('firstname'),
'lastname' => $this->input->post('lastname'),
'fullname' => $this->input->post('fullname')
);
$this->db->update("user", $data);
}
这是控制器:
public function update_data($id = NULL)
{
$data['us'] = $this->User_Model->update_data($id);
if (empty($data['us'])) {
show_404();
}
$this->load->view('user/update-user', $data);
}
public function update_user_data()
{
$data['title'] = 'Update user';
$this->load->library('upload');
$data = array('upload_data' => $this->upload->data());
$this->User_Model->update_user_data($data);
redirect('user/index');
}
我只是初学者,请尊重谢谢 如果我的代码有问题,请告诉我。 顺便说一句,它的工作原理是,一旦我更新了用户数据,它便更新了数据库中的所有数据。
答案 0 :(得分:1)
由于没有指定任何特定行,因此您正在修改表中的每一行。因此,更新代码运行后,每一行都会更新。您应该使用以下代码
function update_data($id = FALSE)
{
if($id == FALSE){
$query = $this->db->get('user');
return $query->result_array();
}
$query = $this->db->get_where('user', array('id' => $id));
return $query->row_array();
}
public function update_user_data($data)
{
$data = array('firstname' => $this->input->post('firstname'),
'lastname' => $this->input->post('lastname'),
'fullname' => $this->input->post('fullname')
);
$this->db->where('id','1')->update("user", $data); //change id as require your own need
}