Codeigniter更新db表中的记录

时间:2011-10-04 09:43:46

标签: codeigniter

我想使用codeigniter更改数据库中的特定记录。网址应该像mysite.com/users/edit/10一样。 这里正在编辑id = 10的用户 users是控制器名称,edit是一种方法。

通常我这样做

//code of the rest of controller
.....
function edit(){
$uid =$_REQUEST['uid'];
//database update code
}
...

如果故意发布表单以更改记录

1 个答案:

答案 0 :(得分:1)

你根本不清楚你想要什么,我可以给你一些指示。 在CI中,您不需要(不必)使用superglobals来访问url参数。它有一个本地系统来管理uri段,无需调用它们即可自动访问; 它们可用作您正在访问的方法的参数。

所以,在像您这样的网址mysite.com/users/edit/10中,您将拥有

<强>控制器:

class Users extends CI_Controller {

 public function edit($uid)
 {
   // $uid is automatically passed to this method and is already available
   // here you do your operations

   //for. ex.
   $this->load->model('user_model');
   $this->user_model->update_user($uid);
 }

}

<强>型号:

  class User_model extends CI_Model {

     function __construct()
     {
       parent::__construct();
     }

     function update_user($id)
     {
       $this->db->where('id',$id);
       $fields = array('field1' => 'value1','field2' => 'value2'...);
       $this->db->update('users',$fields);
     }
    }

如果您提供进一步的信息,我可以扩展我的答案。