Php 如何根据codeigniter中的ID执行更新功能?
我是Codeigniter的新手。我想根据id更新数据。 这是我的控制器:Php 如何根据codeigniter中的ID执行更新功能?,php,codeigniter,Php,Codeigniter,我是Codeigniter的新手。我想根据id更新数据。 这是我的控制器: > public function Edit($Course_ID=0) > { > $this->load->model('CourseRecord'); > $this->load->helper('form'); > > /* Session */ >
> public function Edit($Course_ID=0)
> {
> $this->load->model('CourseRecord');
> $this->load->helper('form');
>
> /* Session */
> $session_data = $this->session->userdata('logged_in');
> $data['User_Name'] = $session_data['User_Name'];
> $this->session->set_userdata($data);
>
> /* Form Validation*/
>
> /* Get Record */
> $data['query'] = $this->CourseRecord->view($Course_ID);
> /* View*/
> $this->load->view('templates/header');
> $this->load->view('Course_Edit',$data);
> $this->load->view('templates/footer');
>
> $my_action = $this->input->post('submit');
> if ($my_action == 'submit')
> {
> $this->CourseRecord->update($Course_ID);
> }
>
> }
这是我的模型:
> function update($Course_ID)
> {
> $data = array(
> 'Course_Code' => $this->input->post('Course_Code'),
> 'Course_Name' => $this->input->post('Course_Name'),
> 'Semester' => $this->input->post('Semester'),
> 'Session' => $this->input->post('Session'),
> 'Course_Type' => $this->input->post('Course_Type'),
> 'Credit_Hours' => $this->input->post('Credit_Hours'),
> 'Course_Ins' => $this->input->post('Course_Ins'),
> 'Assess_Start_Date' => $this->input->post('Assess_Start_Date'),
> 'Assess_Finish_Date' => $this->input->post('Assess_Finish_Date'),
> 'Total_Student' => $this->input->post('Total_Student')
>
> );
> $this->db->where('Course_ID',$Course_ID);
> $this->db->update('course_detail',$data);
> }
问题在于控制器无法在$this->CourseRecord->update($Course\u ID)处识别$Course\u ID
代码>。如果我将$Course\u ID
更改为ID号(例如,$Course\u ID=1
),我会正常工作。
希望有人能指导我。如果您从url传递课程ID,那么您必须将$Course\u ID=0更改为$Course\u ID=null,因为我认为此$Course\u ID=0会造成此问题,因此始终需要将$Course\u ID设置为零。更改编辑函数$Course\u ID=“”
公共功能编辑($Course_ID=”“)
{
}
这是我在进入控制器中的编辑功能之前的视图
> <?php foreach ($query as $row):?>
> <tr>
> <td><?php echo $row->Course_ID;?></td>
> <td><?php echo $row->Course_Code;?></td>
> <td><?php echo $row->Course_Name;?></td>
> <td><?php echo $row->Semester;?></td>
> <td><?php echo $row->Session;?></td>
> <td><?php echo $row->Course_Ins;?></td>
> <td><?php echo anchor('Course_Record/View/'.$row->Course_ID,'View') ;?></td>
> <td><?php echo anchor('Course_Record/Edit/'.$row->Course_ID,'Edit',
> 'Course_ID="Course_ID"') ;?></td>
> <td><?php echo anchor('Course_Record/Delete/'.$row->Course_ID,'Delete',
> 'Course_ID="Course_ID"') ;?></td>
> </tr>
> <?php endforeach;?>
>
>
>
>
>
>
>
>
>
>感谢您的回复。同样的问题,无法更新数据。我认为问题出在if…else语句中,$Course\u ID无法获取数据。我曾尝试用实际ID值替换$Course\u ID,并且功能良好。然后尝试此$this->form\u validation->set\u rules('submit','submit','required');if($this->form\u validation->run()==TRUE){$this->CourseRecord->update($Course\u ID);}if…else语句中的$Course\u ID仍然无法获取值。因此,它无法更新数据。是否有任何解决方案可用于声明$Course_ID的值,然后才能将其用于if…else语句中。感谢您的回复。是的,我可以获取该值,但它无法将该值带入if…else语句中。因此,它无法更新数据…您没有在IF..else stmt.中获取课程Id,因为您的视图是先加载的,所以您没有在IF..else stmt.中获取它。。
// here you will get your all Post data with Course_Id.
// and then update your data with your Model code..
> <?php foreach ($query as $row):?>
> <tr>
> <td><?php echo $row->Course_ID;?></td>
> <td><?php echo $row->Course_Code;?></td>
> <td><?php echo $row->Course_Name;?></td>
> <td><?php echo $row->Semester;?></td>
> <td><?php echo $row->Session;?></td>
> <td><?php echo $row->Course_Ins;?></td>
> <td><?php echo anchor('Course_Record/View/'.$row->Course_ID,'View') ;?></td>
> <td><?php echo anchor('Course_Record/Edit/'.$row->Course_ID,'Edit',
> 'Course_ID="Course_ID"') ;?></td>
> <td><?php echo anchor('Course_Record/Delete/'.$row->Course_ID,'Delete',
> 'Course_ID="Course_ID"') ;?></td>
> </tr>
> <?php endforeach;?>
> <fieldset>
> <legend><b>Course Detail</b></legend>
> <?php echo validation_errors(); ?>
>
> <?php echo form_open('Course_Record/Edit') ?>
> <table cellpadding="4" cellspacing="4" size="80%">
> <tr>
> <td>
> <table border="1" wcellpadding="4" cellspacing="4">
> <tr>
> <td colspan="4"><p> </p><u>Course Info</u></td>
> </tr>
>
> <tr>
> <td> Course_ID</td>
> <td colspan="3"><input type="text" name="Course_ID" disabled="disable" value="<?php echo
> $query->Course_ID; ?>"/>
> </tr> <tr>
> <td>Course Code :</td>
> <td colspan="3"><input type="text" name="Course_Code" id="Course_Code" value="<?php echo
> $query->Course_Code; ?>"/>
> </tr>
>
> <tr>
> <td>Course Name :</td>
> <td colspan="3"><input type="text" name="Course Name" id="Course_Name" value="<?php echo
> $query->Course_Name; ?>"/>
> </tr>