Php 如何在同一视图页上进行插入和更新?
我的问题是,当我分别执行插入和更新操作时,插入和更新工作正常。但是,当我在“更新”按钮面前执行插入操作时,我得到的是空值。我如何在同一个视图页上执行插入和更新操作。。 插入的控制器代码:Php 如何在同一视图页上进行插入和更新?,php,codeigniter,insert,Php,Codeigniter,Insert,我的问题是,当我分别执行插入和更新操作时,插入和更新工作正常。但是,当我在“更新”按钮面前执行插入操作时,我得到的是空值。我如何在同一个视图页上执行插入和更新操作。。 插入的控制器代码: public function insert($id='') { $session_data = $this->session->userdata('logged_in'); $data['username'] = $session_data['username']
public function insert($id='')
{
$session_data = $this->session->userdata('logged_in');
$data['username'] = $session_data['username'];
$dc=$this->input->post('dc');
if($dc=='c'){
$amount=$this->input->post('credit1');
}
else if ($dc=='d') {
$amount=$this->input->post('debit');
}
$data=array(
'date' =>$this->input->post('TDate'),
'code' =>$this->input->post('TName'),
'project' =>$this->input->post('TName1'),
'part' =>$this->input->post('part1'),
'part1' =>$this->input->post('part2'),
'dc'=>$this->input->post('dc'),
'amount'=>$amount,
);
$this->db->insert('daybook',$data);
$this->session->set_flashdata('Add', 'Inserted Successfully');
redirect('BookKeeping/daybook','refresh');
}
要更新的控制器代码:
public function update($id='')
{
$session_data = $this->session->userdata('logged_in');
$data['username'] = $session_data['username'];
$id=$this->input->post('id');
echo "<pre>";var_dump($id);
$dc=$this->input->post('dc');
if($dc=='c'){
$amount=$this->input->post('credit1');
}
else if ($dc=='d') {
$amount=$this->input->post('debit');
}
$data=array(
'date' =>$this->input->post('TDate'),
'code' =>$this->input->post('TName'),
'project' =>$this->input->post('TName1'),
'part' =>$this->input->post('part1'),
'part1' =>$this->input->post('part2'),
'dc'=>$this->input->post('dc'),
'amount'=>$amount,
);
$this->db->where('recno', $_POST['id']);
$this->db->update('daybook', $data);
$this->session->set_flashdata('Add1', 'Updated Successfully');
redirect('BookKeeping/daybook','refresh');
}
公共函数更新($id='')
{
$session_data=$this->session->userdata('logged_in');
$data['username']=$session_data['username'];
$id=$this->input->post('id');
echo”“;变量转储($id);
$dc=$this->input->post('dc');
如果($dc='c'){
$amount=$this->input->post('credit1');
}
如果($dc='d'),则为else{
$amount=$this->input->post('debit');
}
$data=数组(
'date'=>this->input->post('TDate'),
'code'=>this->input->post('TName'),
“项目”=>$this->input->post('TName1'),
'part'=>this->input->post('part1'),
'part1'=>this->input->post('part2'),
'dc'=>this->input->post('dc'),
“金额”=>美元金额,
);
$this->db->where('recno',$_POST['id']);
$this->db->update('daybook',$data);
$this->session->set_flashdata('Add1','Updated Successfully');
重定向(“簿记/日记簿”,“刷新”);
}
插入和更新的查看页面:
$this->db->insert('daybook',$data);
$this->session->set_flashdata('Add', 'Inserted Successfully');
redirect('BookKeeping/daybook/'.$last_insert_id,'refresh');
您可以通过('bookoving/daybook.$last\u insert\u id')传递上次插入id重定向
插入查询:
$this->db->where('recno', $_POST['id']);
$this->db->update('daybook', $data);
$this->session->set_flashdata('Add1', 'Updated Successfully');
redirect('BookKeeping/daybook/'.$_POST['id'],'refresh');
更新查询:更新id
function daybook($id= "")
{
$this->db->select('*');
$this->db->from('daybook');
$this->db->where('recno', $_POST['id']);
$query = $this->db->get();
$result = $query->result_array();
$data['result'] = $result;
$this->load->view('daybook', $data['result']);
}
在daybook函数中获取id,并使用select query Get data传递视图文件。
例如:
<?php echo isset($arrayName) ? "Update" : "Add"; ?>
<input name="part" type="text" class="form-control" value="<?php echo isset($arrayName) && isset($arrayName['part']) ? $arrayName['part'] : '' ?>" id="part" placeholder="part">
这可能对你有帮助 您的数据来自哪个数组。像这样使用该数组:试试这个,我希望它能帮助您
不是函数名。您在哪个数组中通过id获取数据。是那个数组。好的。。。我正在从$result数组中获取更新值,但我没有任何数组可插入到您的控制器中。请使用检查id。如果($id!=''{updatequery}或者{insert query}请发送我以在查看页面中打印$result结果。数组([recno]=>95[date]=>2018年5月12日[code]=>[project]=>[part]=>关于[part1]=>[amount]=>10[dc]=>c[ledreno]=>0[vouno]=>0[pvouno]=>[type]=>[mark]=>[slno]=>[shift]=>[pacno]=>0)这是我第一页的$result我没有得到错误..但是当我尝试插入值时,我得到了空值,因为我在记录不存在时指定了空值..所以出现空值我不知道如何指定插入值错误Number:1048列“日期”不能为空插入daybook
(date
,code
,project
,part
,part1
,dc
,amount
)值(null,'1',2',null,null,null,null,null)…这是我尝试插入RTOK bro时出现的错误。您可以在查看页面中检查必填字段,或者在控制器中检查not empty。请尝试以下示例:$date=(!empty($this->input->post('date'))?$this->input->post('date'):“”;
<?php echo isset($arrayName) ? "Update" : "Add"; ?>
<input name="part" type="text" class="form-control" value="<?php echo isset($arrayName) && isset($arrayName['part']) ? $arrayName['part'] : '' ?>" id="part" placeholder="part">