如何根据codeigniter中的ID执行更新功能?

时间:2014-03-19 09:00:44

标签: php codeigniter

我是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) ,我运作良好。 希望有人可以指导我。

3 个答案:

答案 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>&nbsp;</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的新手