PHP Fast Coding สร้างฟังก์ชั่น ตรวจสอบค่าซ้ำ (UNIQUE KEY) ก่อนเพิ่มข้อมูล

โดย SONGCHAI SAETERN
เริ่มจากการเพิ่มส่วนของการเรียกฟังก์ชั่นใหม่ที่ใช้ตรวจสอบค่าซ้ำ เช่น

$message .= $this->formValidateUser();

คือการตรวจสอบชื่อ User ซ้ำกันหรือไม่


สร้างฟังก์ชั่น formValidateUser() ตรวจสอบ User


โดยที่เขียนเงื่อนไขการค้นหา ด้วย User ที่ผ่านค่า POST มา ถ้าพบแสดงว่าชื่อซ้ำกัน



ตัวอย่างโค้ดตรวจสอบ User ซ้ำ



public function formValidateUser()
{
$message = '';

$username = $this->input->post('username', TRUE);

$this->Portfolio->set_table_name('YOUR_TABLE_USER');
$this->Portfolio->set_where("username = '$username'");
$count = $this->Portfolio->count_record();
if($count > 0){
$message .= "ชื่อ $username ซ้ำกัน";
}
return $message;
}



หากต้องการสร้างฟังก์ชั่นที่เช็คพร้อมกันมากกว่า 1 ฟิลด์ ให้เพิ่มตัวแปรรับค่า POST และเพิ่มเงื่อนไขในส่วนของ WHERE ตามจำนวนฟิลด์ที่ต้องการ

public function formValidateBooking()
{
$message = '';
$staff_name = $this->input->post('staff_name', TRUE);
$booking_start_date = $this->input->post('booking_start_date', TRUE);
$booking_start_date = setDateToStandard($booking_start_date);//กรณีต้องแปลง พ.ศ. เป็น ค.ศ.
  
$this->Work->set_table_name('tb_booking');
//DATE(booking_start_date) กรณีที่ฟิลด์มีเวลาอยู่ด้วย แต่ต้องการเช็คแค่วันที่
$this->Work->set_where("staff_name = '$staff_name' AND DATE(booking_start_date) = '$booking_start_date' ") ;
  
$count = $this->Work->count_record();
//echo $this->db->last_query();// แสดง SQL
if($count > 0){
  $message .= "คุณ $staff_name ไปราชการวันที่ $booking_start_date ซ้ำกันครับ";
}
return $message;
}








PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
http://fastcoding.phpcodemania.com/index.php/#purchase-order
ราคาสุดคุ้ม  4,500  บาท
http://fastcoding.phpcodemania.com