DBに「payroll」というテーブル名があり、従業員の給与、ボーナス、残業のフィールドがあります。従業員の給与はテーブルに保存されます。私がやろうとしているのは、ボーナスフィールドを計算することです。つまり、従業員の給与が2000で、ボーナスが500の場合、「ボーナス」フィールドに2500として保存されます。問題は、コードにエラーが表示されないのに、「残業」フィールドがDBで更新されないことです。 。codigniterを使用しています
私のコントローラー:
function update_bonus(){
$id=$this->input->post('id');
$salary=$this->input->post('salary');
$bonus=$this->input->post('bonus');
$update=$salary+$bonus;
$data['bonus']=$this->input->post('update');
if ($this->pay->update_overtime($id,$data)==TRUE){
$this->load->view('success');
}
else
{
$this->load->view('unsuccess');
}
}
My model:
function update_overtime($id,$data){
$this->db->where('id', $id);
$this->db->update('payroll', $data);
if ($this->db->affected_rows() == '1')
{
return TRUE;
}
return FALSE;
}
}
The form:
echo form_open('payroll/update_bonus');?>
<p> Previous Salary was <? echo $info[0]->salary;?> .</p>
<p>
<?php echo form_hidden('id', $id, 'id="id'); ?>
</p>
<p>
<?php echo form_hidden('id', $salary, 'id="salary'); ?>
</p>
<label for="bonus">Update Basic Salary <span class="required">*</span></label>
<?php echo form_error('salary'); ?>
<br /><input id="bonus" type="text" name="bonus" value="<?php echo set_value('bonus'); ?>" />
</p>
<p>
<?php echo form_submit('submit', 'Submit'); ?>
</p>
<?php echo form_close(); ?>