ขอวิธีการเขียนโค้ด php auto id หน่อยครับ แบบว่าเมื่อเราต้องการเพิ่มข้อมูลลงในฐานข้อมูลแล้วในฟอร์มที่เป็น Textbox จะรันแสดงลำดับที่ หรือ รหัสสินค้าอัตโนมัติโดยที่เราไม่ต้องป้อนเองแล้วจัดเก็บลงฐานข้อมูล แบบนี้อ่ะคับพอมีใครแนะนำวิธีการเขียนบ้างไหมครับ
//ถ้าเป็น Yii2
public function getNextId(){
//ตัวอย่างหากต้องการ SN59-00001
$year = substr(date('Y') + 543, 2);//หาจากปีปัจจุบับคือ 59
$lastRecord= Model::find()->where(['like', 'id_case', 'SN'.$year.'-'])->orderBy(['id' => SORT_DESC])->one();//หาตัวล่าสุดก่อน
if ($lastRecord) {
$digit = explode('-', $lastRecord->id_case);
$lastDigit = ((int) $digit[1]); // เปลี่ยน string เป็น integer สำหรับคำนวณ +1
$lastDigit++; //เพิ่ม 1
$lastDigit = str_pad($lastDigit, 5, '0', STR_PAD_LEFT);//ใส่ 0 ข้างหน้าหน่อย
} else {
$lastDigit = '00001';
}
return 'SN'. $year . '-' . $lastDigit;
}
ตัวอย่างนี้ใช้กับ Yii Framework 2 นะครับ ลองประยุกต์เอานะครับ
ตอบ/อธิบาย