如果数据库中已存在数据,则添加或编辑数据

时间:2014-02-20 19:06:04

标签: php codeigniter

我试图添加或编辑数据,具体取决于数据是否已存储在数据库中。正如您在下面看到的,我正在检查用户是否已经存在并且getuserid($id)加载了相应的视图,但问题是当我触发add_user()edit_user()时,因为这些方法都不会重定向回来,因为它应该是。有什么建议?这是完整的代码http://pastebin.com/2G7D8ie4

 public function getuserid($id = NULL){

    if(!$id)
    {
        show_404();            
    }

    $query = $this->Users_model->getuserid($id);

    if($query == false){

            $data = array('title'=>'Admin ::LxFPanamá::',
                            'content'=>'users/add_users_view',
                            'id'=>$id);
        }else{

            $data = array('title'=>'Admin ::LxFPanamá::',
                            'content'=>'users/edit_users_view',
                            'id'=> $query->id,
                            'staff_id'=> $query->staff_id,
                            'login'=> $query->login,
                            'password'=> $query->password   
                            );
        }

        $this->load->view('themes/'.$this->config->item('theme_front').'.php', $data);

}

模型

  public function getuserid($id){

    $query = $this->db->get_where('users', array('staff_id' => $id));

    if($query->num_rows() > 0){

        return $query->row();

    }else{

        return false;
    }

}

1 个答案:

答案 0 :(得分:0)

您可以尝试制作model

public function getuserid($id){
        $query = $this->db->get_where('users', array('staff_id' => $id));
        $result=array();
        foreach ($query->result() as $rows){
            $result[]=$rows;
        }
        return $result;
    }

controller

    if(count($query)>0){
    $data = array('title'=>'Admin ::LxFPanamá::',
                  'content'=>'users/edit_users_view',
                  'id'=> $query->id,
                  'staff_id'=> $query->staff_id,
                  'login'=> $query->login,
                  'password'=> $query->password
                  );
}
else
{
    $data = array('title'=>'Admin ::LxFPanamá::',
                  'content'=>'users/add_users_view',
                  'id'=>$id
                  );
}