我需要一個幫助,以避免在我的資料庫表中使用CodeIgniter的重復條目。 我有一個名為 "user_course_tbl "的表,有3個列,如下所述。
我需要輸入作業人員的姓名和課程代碼,不能有重復。
如表中所述,同一個人可以添加更多不同的課程代碼。但同一個人不能添加同一個課程代碼超過1個。
例如:史密斯在表中有更多不同的課程。這將是可以的。這應該被避免。不應該讓staff_name和course_code兩列有相同的值。
我為上述問題寫了代碼。但是我不明白如何驗證這個問題。
視圖
<? php echo form_open_multipart('Course/insert_courses_for_users');? >
<div class="box-body">
<div class="col-md-6"/span>>
<div class="form-group">/span>
<label>User</label>
< select id="user"/span> class="form-control" name="user" required>
<option value=""/span>> 選擇</選項>
<?php
if(isset($user))。
{
foreach($user as $cnt)
{
print "<option value='".$cnt['staff_name']。 "'>".$cnt['staff_name']."</option>";
}
}
?>。
</select>
</div>/span>
</div>/span>
<div class="col-md-6"/span>>
<div class="form-group"/span>>
<label>課程代碼</label>
< select id="CourseCode"/span> class="form- 控制" name="courscode" onchange="getcoursename(this. value)" required>。
<option value=""/span>> 選擇</選項>
<?php
if(isset($coursecode))。
{
foreach($coursecode as $cnt)
{
print "<option value='".$cnt['course_code'] 。 "'>".$cnt['course_code']."</option>"。
}
}
?>。
</select>
</div>/span>
</div>
Controller
function insert_courses_for_users()
{
$this->form_validation->set_rules('user', 'user', 'required')。
$this->form_validation->set_rules('courscode', '課程代碼', 'required')。
$id=$this->input->post('txtid')。
$user=$this-> input->post('user')。
$coursecode=$this-> input->post('courscode')。
$data=$this-> Course_model-> insert_courses_for_user(array('id'=> $id,'staff_name'=>$user,'course_code'=>$coursecode))。)
if($data==true)
{
$this->session->set_flashdata('success', "New Course added for user Succesfully") 。
}else
{
$this->session->set_flashdata('error', "對不起,用戶的新課程添加失敗了。")。
}
redirect($_SERVER['HTTP_REFERER']) 。
}
模型
function insert_courses_for_user(span class="hljs-variable">$data)
{
$this->db->insert("user_course_tbl",$data) 。
return $this->db->insert_id()。
}
請您幫助解決這個問題好嗎?
uj5u.com熱心網友回復:
(1)方法:-
在控制器中:-
當你定義表單驗證時,為is_unique
$this-> form_validation-> set_rules('staff_name', 'Staff Name', 'required|is_unique[user_course_tbl. staff_name]')。)
(2)方法:-
在資料庫中搜索course_code & staff_name,然后插入它們是否存在。
uj5u.com熱心網友回復:
解決方案1
$courscode=$this->db->query('select * from user_course_tbl where courscode='.$this->input->post('courscode'));
if(isset($courscode) & & ! empty($courscode)) { $is_unique = '|is_unique[user_course_tbl.courscode]' } else { $is_unique = '' } } $this->form_validation->set_rules('courscode', 'Course Code', 'required|trim|xs0s_clean'.$is_unique)。) $this->form_validation->set_message('is_unique', 'The %s is already taken. 占用,請使用另一個%s'); //為is_unique添加訊息。 注意 :使用 相同 為 作業人員 姓名。
解決方案2:
$this-> form_validation-> set_rules('courscode', 'Source Code', 'required| is_unique[user_course_tbl. courscode')。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/321947.html
標籤:
下一篇:基于FK檢索關系上的欄位

