php – 如何在codeigniter中更新表单数据

嘿家伙我是codeigniter的新手.
在这个项目中使用codeigniter.我还没有得到如何更新数据库中的表单数据.我已经插入,显示数据库中的数据已完成.但我不明白如何更新database.plz中的数据

我的控制器:

    class User extends CI_Controller {

        public function __construct() {
            // Call the Model constructor
            parent::__construct();
            $this->load->model('usermodel');
        }

        public function insert() {
            $this->load->view('userview');

            if ($this->input->post('submit')) {

                $this->usermodel->save();
            }
        }

        public function display() {
            $data = array();
            $data['result'] = $this->usermodel->get_contents();
            $this->load->view('usergrid', $data);
        }

        public function edit() {
            $data = array();
            $get = $this->uri->uri_to_assoc();
            $data['result'] = $this->usermodel->entry_update( $get['id'] );

            $this->load->view('useredit', $data);
             if ($this->input->post('submit')) {

                $this->usermodel->entry_update1($get['id']);
            }
        }


    }

模型:

        <?PHP

        class usermodel extends CI_Model {

            public function __construct() {
                // Call the Model constructor
                parent::__construct();
            }

            public function save() {

                //print_r($this->input->post('name'));

                $data = array(
                    'name' => $this->input->post('name'),
                    'age' => $this->input->post('age'),
                    'address' => $this->input->post('address')
                );
                //var_dump($this->db);

                $this->db->insert('user', $data);
            }

            public function get_contents() {
                $this->db->select('*');
                $this->db->from('user');
                $query = $this->db->get();
                return $result = $query->result();
            }


            public function entry_update( $id ) {

                $this->db->select('*');
                $this->db->from('user');
                $this->db->where('id',$id );
                $query = $this->db->get();
                return $result = $query->row_array();

            }
            public function entry_update1($id) {
              $data = array(

        'name' => $this->input->post('name'),
        'age' => $this->input->post('age'),
        'address' => $this->input->post('address')
                );

                 $this->db->where('id', $id);
                $this->db->update('user', $data);

            }

        }
        ?>

视图:

    <html>
        <head>
            <title>user registration</title>
        </head>
        <body>
            <form  action="edit"  method="POST" name="myform">
                <input type="hidden" name="id" value="<?PHP echo $result['id']; ?>">
                username :<input type="text" name="name" value="<?PHP echo $result['name'] ?>"></br>
                age      :<input type="text" name="age" value="<?PHP echo $result['age'] ?>"></br>
                Address  :<input type="text" name="address" value="<?PHP echo $result['address'] ?>"></br>

                <input type="submit" value="update" name="submit">
            </form>
        </body>

    </html>

预先感谢您的帮助.

解决方法:

你只是传递$id

$这 – &GT usermodel-&GT entry_update1($得到[ ‘ID’]);

功能你做了

public function entry_update1($id) {
    $this->db->where('id', $id);
    $this->db->update('user', $data);
}

所以你必须在你的函数调用中传递$data

$this-> usermodel-> entry_update1($get [‘id’],$data);

public function entry_update1($id, $data) {
    $this->db->where('id', $id);
    $this->db->update('user', $data);
}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...