2013-05-19 3 views
0

정확하게 MySQL 테이블에 행을 삽입하는 방법을 모르겠습니다. 코드를 사용하면 모든 게시물에 대해 새 행을 추가합니다. 그보다 나는 모든 값을 갖는 단 하나의 행만 원한다.Codeigniter - 입력 포스트 배열을 mysql 데이터베이스에 삽입하십시오.

다음은 코드 샘플입니다.

HTML :

echo form_open('account/update'); 
    echo "<p><label for='gender'>Gender</label> 
<input type='text' name='gender' id='gender' value='".$gender."' /> 
    </p> 
    <p> 
    <label for='age'>Age</label> 
    <input type='text' name='age' id='age' value='".$age."' /> 
    </p> 
     <p> 
    <label for='bio'>Biografie</label> 
    <input type='text' name='bio' id='bio' value='".$bio."' /> 
    </p> 
     <p> 
    <label for='skills'>Skills</label> 
    <input type='text' name='skills' id='skills' value='".$skills."' /> 
    </p> 

    <p><input type='submit' value='Save' /></p>"; 


echo form_close(); 

컨트롤러 :

function update() 
{ 
    $userid = $this->session->userdata("userid"); 


    $datanew = array(
      'userid' => $this->session->userdata("userid"), 
      'gender' => $this->input->post('gender'), 
      'age' => $this->input->post('age'), 
      'bio' => $this->input->post('bio') , 
      'skills' => $this->input->post('skills') 
     ); 
$this->session->set_userdata($data); 
    $this->load->model('model_account'); 
    $this->load->model("model_user"); 

    $this->model_account->profile_insert($datanew); 

$this->load->view("change_avatar"); 
    redirect("account/show/".$this->session->userdata("userid")); 
} 

모델 :

function profile_insert($datanew) 
{ 

    $this->db->insert('profile', $datanew); 

} 

나는 HTML 양식을 작성하여 제출하면 내가 5 개 행을 얻을.

+0

흠 내가 캔트 삽입 행이 check.i 사용할 수 없기 때문에 내가 생각하는 사용은 필요 하나의 행 –

+0

하나의 행에 배열을 삽입 하시겠습니까 ?? – egig

+0

예 한 행만 필요합니다. 또는 오른쪽 열의 모든 값과 일치해야합니다. 뭔가 잘못 했어 –

답변

0

나를 위해 작동합니다 : I 사용자 ID를 고유하게 설정하고 삽입 및 업데이트 기능 사이의 컨트롤러 스위치에서 if 문을 작성했습니다.

컨트롤러 :

function update() 
{ 

    $datanew = array(
      'userid' => $this->session->userdata("userid"), 
      'gender' => $this->input->post('gender'), 
      'age' => $this->input->post('age'), 
      'bio' => $this->input->post('bio') , 
      'skills' => $this->input->post('skills') 
     ); 

    $exists = $this->db->select('profile')->where('userid', $this->session->userdata("userid")); 

    if($exists) 
    { 

     $this->session->set_userdata($datanew); 
     $this->load->model('model_account'); 
     $this->load->model("model_user"); 
     $this->model_account->profile_update($datanew); 
     $this->load->view("change_avatar"); 
     redirect("account/show/".$this->session->userdata("userid")); 
    } 
     else 
    { 


     $this->session->set_userdata($datanew); 
     $this->load->model('model_account'); 
     $this->load->model("model_user"); 
     $this->model_account->profile_insert($datanew);  
     $this->load->view("change_avatar"); 
     redirect("account/show/".$this->session->userdata("userid")); 
    } 

} 

모델 : 날 도와 주셔서

function profile_insert($datanew) 
{ 
     $this->db->insert('profile', $datanew);   
} 

    function profile_update($datanew) 
{ 
     $this->db->update('profile', $datanew);    
} 

덕분에

관련 문제