我是Codeigniter的新手。我想根据id更新数据。 这是我的控制器:
> 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);
> }
问题出在控制器上,$Course_ID
无法识别$this->CourseRecord->update($Course_ID);
。如果我将$Course_ID
更改为ID号(例如$Course_ID=1
) ,我运作良好。
希望有人可以指导我。
答案 0 :(得分:0)
如果你从url传递了Course_ID,那么你已经将$ Course_ID = 0更改为$ Course_ID = null,因为我认为这个问题由$ Course_ID = 0创建,它总是将$ Course_ID变为零
答案 1 :(得分:0)
更改编辑功能$ Course_Id =“”
公共功能编辑($ Course_ID =“”) {
$data['action'] = site_url('controllername/update/'.$Course_ID); //pass this action in view page as <form action="<?php echo $action; ?>"> </form> //so on submit of your Code you will Get All Post Data in update(Course_ID='') method //Your Code goes Here Upto View.
}
公共功能更新($ Course_Id =“”) {
// here you will get your all Post data with Course_Id. // and then update your data with your Model code..
}
答案 2 :(得分:0)
在进入控制器中的编辑功能之前,这是我的观点。
> <?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;?>
然后控制器将数据传递给名为Course_Edit的视图。这里有一些代码......
> <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>
真的希望有人可以帮助我。我是codeigniter.thanks的新手