我想知道当数据已经存在于数据库中时如何防止插入数据库。以及如何创建一个onclick窗口,其中包含一条消息,提醒用户他们正在插入的数据已经在数据库中。
我如何从我的观点获得输入有点像这样:
@keyframes cf3FadeInOutTopLoader {
0% {
opacity:1;
visibility: visible;
}
45% {
opacity:1;
visibility: visible;
}
55% {
opacity:0;
visibility: hidden;
}
100% {
opacity:0;
visibility: hidden;
}
}
@keyframes cf3FadeInOutBottomLoader {
0% {
opacity:0;
visibility: hidden;
}
45% {
opacity:0;
visibility: hidden;
}
55% {
opacity:1;
visibility: visible;
}
100% {
opacity:1;
visibility: visible;
}
}
img.top {
animation-name: cf3FadeInOutTopLoader;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
animation-duration: 2s;
animation-direction: alternate;
visibility:hidden;
}
#overlay-page img.bottom {
animation-name: cf3FadeInOutBottomLoader;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
animation-duration: 2s;
animation-direction: alternate;
}
#overlay-page img{
position: absolute;
left: 0px;
right: 0px;
margin: 0 auto;
width:200px;
}
它将数据库中的数据导入select标记。我的数据库有员工ID,员工姓名,部门代码和分配。
这是我的控制器:
<form method="post" action="<?php echo base_url();?>index.php/Controller/insertdata">
<h3>Select Course Code:</h3>
<select id="employeeid" name="empid">
<option value="" selected="selected">---Select Course Code---</option>
<?php foreach ($e_id as $row4): ?>
<option label="<?php echo $row4['EmpID']; ?>" value="<?php echo $row4['EmpID']; ?>" <?php echo set_select('course', $row4['EmpID'], False); ?>> <?php echo $row4['EmpID'] ; ?> </option>
<?php endforeach; ?>
</select>
<input type="Submit" value="Submit" id="submite_id">
它将数据插入数据库并将用户重定向到视图。
最后,我将如何在模型中将其插入数据库:
public function insertdata() {
$this->model->setdata();
$data['results'] = $this->model->emp_all();
$this->load->view('edit_view', $data);
}
问题在于,用户不应该为同一部门分配员工ID,并命名为重复的作业。
任何回复,评论和见解将不胜感激。提前谢谢!
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用Codeingiter form_validation
库。
$this->load->library('form_validation');
$this->form_validation->set_rules('empid', 'Employee ID', 'required|trim|employeeDB.empid');
最后一个参数employeeDB.empid
用作table_name.column_name
。所以您的控制器将如下所示。
public function insertdata() {
$this->load->library('form_validation');
$this->form_validation->set_rules('empid', 'Employee ID', 'required|trim|employeeDB.empid');
if ($this->form_validation->run() == FALSE) {
// Form Validation Failed.
$this->load->view('myform');
} else {
// Form Validation Passed.
$this->model->setData();
$data['results'] = $this->model->emp_all();
$this->load->view('edit_view', $data);
}
}
答案 2 :(得分:0)
在sql server中使用可以使用NOTEXIST保护重复插入