저는 CI에 처음으로 익숙해졌으며 오늘 업데이트 양식 클래스를 만들려고 노력했지만 막 다른 골목에 처하고 있습니다. 폼을 만들고 데이터베이스에 데이터를 게시하도록 함수를 설정 했으므로 이제이를 업데이트 할 수 있어야합니다.Codeigniter 업데이트 양식
내 편집 양식 기능은 다음과 같습니다 :
public function edit_event()
{
$vars = array();
$data['form_url'] = $this->form_url;
if ($form_id = $this->EE->input->get('form_id'))
{
$data['form_id'] = $form_id;
}
return $this->EE->load->view('edit_event', $data, TRUE);
}
와 함수 내에서로드 edit_event 파일은 다음과 같습니다
public function update_form()
{
$form_id = $this->EE->input->get('form_id');
$data['form_id'] = $form_id;
$form_data = array(
'app_key' => $this->EE->input->post('app_key'),
'access_token' => $this->EE->input->post('access_token'),
'user_key' => $this->EE->input->post('user_key')
);
$this->EE->db->where('id', $form_id);
$this->EE->db->update('exp_events', $form_data);
$this->EE->functions->redirect($this->base_url);
}
:
<?php
$this->EE=& get_instance();
$this->load->helper('form');
$attributes = array('class' => 'event_form', 'id' => 'my_event_form');
echo form_open($form_url.AMP.'method=update_form', $attributes);
$this->EE->load->library('table');
$this->EE->table->set_heading(
'Preference',
'Setting'
);
$query = $this->EE->db->query("SELECT * FROM exp_events WHERE id = '$form_id'");
foreach($query->result_array() as $row)
{
$this->EE->table->add_row(
form_label('Application Key', 'app_key'),
form_input('app_key',$row['app_key'])
);
$this->EE->table->add_row(
form_label('Access Token', 'access_token'),
form_input('access_token',$row['access_token'])
);
$this->EE->table->add_row(
form_label('User Key', 'user_key'),
form_input('user_key',$row['user_key'])
);
}
echo $this->EE->table->generate();
echo form_reset('reset', 'Clear Form');
echo form_submit('mysubmit', 'Submit Post!');
echo form_close();
?>
나는 다음 내 업데이트 형태로 기능이 $ form_if 옵션을 제거하면 데이터를 업데이트 할 수 있지만 d의 모든 단일 항목에 대해 업데이트됩니다. atabase. 편집중인 양식의 양식 ID 만 사용하여 데이터를 업데이트하면됩니다.
업데이트 양식을 제출할 때 올바른 $ base_url로 리디렉션되지만 데이터가 업데이트되지 않으므로 양식 ID를 정의 할 때 분명히 잘못된 작업을하고 있습니까?
내가 말했듯이 누군가가 선호하는 방법을 알면 나에게 알려주기 위해 자유롭게 느낀다.
감사합니다.
미리 감사드립니다.
벤
감사합니다. 그 말이 맞는 !! 숨겨진 필드를 추가했지만 양식을 제출할 때 필드가 업데이트되지 않습니다. $ form_id = $ this-> EE-> input-> get ('form_id'); $ data [ 'form_id'] = $ form_id; update_form 함수에서 모든 양식에 대한 데이터가 한 번에 업데이트됩니다. 그래서 어딘가에서 EE-> db-> 업데이트로 잘못 될 것입니다. – Ben
POST를 볼 때 GET을보고 있습니다. '$ form_id = $ this-> EE-> input-> post ('form_id');'. –
AHA! 고 카트, 고마워. 데릭! TheShiftExchange 귀하의 의견도 많이 도움이 너무 감사합니다 :) – Ben