我想使用codeigniter更改数据库中的特定记录。网址应该像mysite.com/users/edit/10
一样。
这里正在编辑id = 10的用户
users是控制器名称,edit是一种方法。
通常我这样做
//code of the rest of controller
.....
function edit(){
$uid =$_REQUEST['uid'];
//database update code
}
...
如果故意发布表单以更改记录
答案 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);
}
}
如果您提供进一步的信息,我可以扩展我的答案。