我有一个表格(引用表格),当我填写表格时,我有2个查询正在运行。一个查询从表中选择列,另一个查询将信息插入表中。我能够成功获取并同时插入查询。但是问题是,当我刷新页面时,它总是插入重复的记录。如何避免这种情况,而不再次插入记录。我尝试了几种方法,例如会话和if else语句,但是没有用。
我的代码:-
型号:
function insertToQuoteForm() {
$postcode = $this->input->post('pick_add');
$del_postcode = $this->input->post('drop_add');
if ($postcode != '' ) {
$fName = $this->input->post('bk_name');
$lName = $this->input->post('bk_lname');
$email = $this->input->post('bk_email');
$contact = $this->input->post('bk_contact');
$postcode = $this->input->post('pick_add');
$del_postcode = $this->input->post('drop_add');
$carMake = $this->input->post('car_list');
$carModel = $this->input->post('car_models');
$carmanYear = $this->input->post('car_man_year');
$carType = $_POST['bodytypeselect'];
$insertFormQuery = "INSERT INTO Quote_Form( First_Name, Last_Name, Email, Phone, Origin, Destination, CarMake, CarModel, ManYear, CarType) VALUES
( '" . $fName ."', '" .$lName."', '" . $email."', '" . $contact."', '" . $postcode."', '" . $del_postcode."', '" . $carMake."', '" . $carModel."', '" . $carmanYear."', '" . $carType ."')";
$insertDetails = $this->db->query($insertFormQuery);
$insert_id = $this->db->insert_id();
return $insert_id;
}
else {
redirect ( base_url());
}
}
控制器:
我使用的是quoteNo作为最后插入的ID的参考号
$data['quoteNo'] = $this->PostModel->insertToQuoteForm();
逻辑是:
当查看者填写报价单以获取估计数量时,它会做两件事。将用户详细信息保存在一个表中,并从其他表中获取记录。插入到插入表中的数据将生成最后一个ID,并且该ID将变为引号。现在,如果用户刷新页面,则页面在生成时仍应显示相同的报价编号,而不会获得新的生成编号。谢谢。