codeigniter将数据从模型传递给控制器​​或任何替代方案

时间:2014-03-06 06:16:12

标签: codeigniter pass-data

1.hi伙计我是codeigniter的新手请帮助我想将数据从id传递到控制器到模型

    public function itemdetails(){

            $id = $_REQUEST['id'];

            $this->db->WHERE('assetTag', $id);
            $query = $this->db->get('mis_inventory');

            foreach ($query->result_array() as $row);
            echo "<table border='1'>";
            echo 'ASSET TAG';
            echo strtoupper($row['assetTag']);
            echo 'ITEM TYPE';
            echo $row['itemType'];
            echo 'BRAND';
            echo $row['brand'];
            echo 'MODEL';
            echo $row['model'];
            echo 'SERIAL';
            echo $row['serial'];


           echo anchor('main/update_item?id='.  ucwords($row['assetTag']), 'EDIT');

2.然后,当我点击EDIT时,它将重定向到

下面的控制器代码
            public function update_item(){
                if ($this->session->userdata('is_logged_in')){
                    $this->load->model('model_items');
                    $this->load->view('update');
                }
            }

3.然后回到模特

        public function update_item(){


            $id = $_REQUEST['id'];

            $this->db->WHERE('assetTag', $id);
            $query = $this->db->get('mis_inventory');

            foreach ($query->result_array() as $row);

            echo form_open('main/update_validation');
            echo "<table border='1'>";
            echo 'ASSET TAG';
            echo strtoupper($row['assetTag']);
            echo 'ITEM TYPE';
            echo form_input('itemType', $row['itemType']);
            echo 'BRAND';
            echo form_input('itemType', $row['brand']);
            echo 'MODEL';
             echo form_input('itemType', $row['model']);
            echo 'SERIAL';

            echo form_submit('submit', 'UPDATE');
            echo validation_errors();

4.更新验证码

            public function update_validation(){

                $this->load->library('form_validation');

                $this->load->model('model_items');
                $id = $_REQUEST['id'];

                $this->form_validation->set_rules('itemType', 'itemtype', 'required');
                $this->form_validation->set_rules('brand', 'brand', 'required');
                $this->form_validation->set_rules('model', 'model', 'required');
                $this->form_validation->set_rules('serial', 'serial', 'required');
                $this->form_validation->run();
                $this->model_items->can_update_item();

                echo $this->db->affected_rows().' record updated';

/ **我只想编辑数据库中的项目,当我点击它的ID时,该值应该在表单TAG中,然后编辑一些内容并单击更新按钮但它失败了。      我非常需要帮助。      谢谢** /

1 个答案:

答案 0 :(得分:0)

以下是它应该如何运作:

对于控制器

public function my_url()
{
    $userInput['id'] = $this->input->post('id');  //It is a safe $_POST['id'] (XSS Injection safe, so use this instead of $_POST)
    $userInput['email'] = $this->input->post('email');

    $this->load->model('user_model');
    $result = $this->user_model->create_user($userInput);
    echo $result; 
    //Or you can do :
    //$data['result'] = $this->user_model->create_user($userInput);
    //$this->load->view('result_view',$data);
}

对于模型

public function create_user($userInput)
{
    //Check for the required field etc
    if(!isset($userInput['email'])
        return false;

    $this->db->insert('my_user_table',$userInput);

    return $this->db->affected_rows();  //Should return 1 if user is created else 0
}