본문 바로가기
MySql

MySQL codeigniter에서 양식 입력 상자의 값을 얻는 방법

by 베이스 공부 2020. 12. 8.
반응형

FORM INPUT Help의 가치 !!

// 이것은 단지 test_model의 $ nm 및 $ feed 참조입니다 //

  $data['fid']['value'] = 0;
  $data['nm'] = array('name'=>'fname',
                      'id'=>'id');

하나의 form_view가 있다고 말하십시오.

<?=form_label('Insert Your Name :')?>
<?=form_input($nm)?>

단일 행을 얻는 함수

 function get($id){
    $query = $this->db->getwhere('test',array('id'=>$id));
    return $query->row_array();
}

그런 다음 컨트롤러에서 .. index ($ id = 0)

그리고 인덱스 어딘가에

 if((int)$id > 0)
        {
            $q = $this->test_model->get($id);
            $data['fid']['value'] = $q['id'];
            $data['nm']['value'] = $q['name'];
        }

mysql 테이블에는 이름 값으로 1. victor, 2. visible 등이 있습니다.

그러나 여기서는 form_input에서 이름과 ID의 값을 취하지 않고 victor 등과 같은 입력 상자의 form_view에 다시 표시하지 않으므로 데이터베이스에 다시 게시하고 업데이트합니다.

누구든지 도와주세요 !! CI가 처음이라 편하게 해주세요 !!

 

해결 방법

 

내 첫 번째 답변에 대한 귀하의 의견을 기반으로 데이터베이스의 테이블에서 가져온 사용자 항목을 업데이트하는 Controller, Model 및 View 샘플이 있습니다.

컨트롤러

class Users extends Controller
{
    function Users()
    {
        parent::Controller();
    }

    function browse()
    {
    }

    function edit($id)
    {
        // Fetch user by id
        $user = $this->user_model->get_user($id);

        // Form validation
        $this->load->library('form_validation');
        $this->form_validation->set_rules('name', 'Name', 'required');

        if ($this->form_validation->run())
        {
            // Update user
            $user['name'] = $this->input->post('name', true);
            $this->user_model->update_user($user);

            // Redirect to some other page
            redirect('users/browse');
        }
        else
        {
            // Load edit view
            $this->load->view('users/edit', array('user' => $user));
        }
    }        
}

모델

class User_model extends Model
{
    function User_model()
    {
        parent::Model();
    }

    function get_user($user_id)
    {
        $sql = 'select * from users where user_id=?';
        $query = $this->db->query($sql, array($user_id));
        return $query->row();
    }

    function update_user($user)
    {
        $this->db->where(array('user_id' => $user['user_id']));
        $this->db->update('users', $user);
    }
}

보기

<?php echo form_open('users/edit/' . $user['user_id']); ?>
<div>
    <label for="name">Name:</label>
    <input type="text" name="name" value="<?php echo set_value('name', $user['name']); ?>" />
</div>
<div>
    <input type="submit" value="Update" />
</div>
<?php echo form_close(); ?>

 

참조 페이지 https://stackoverflow.com/questions/2302362

 

 

반응형

댓글