บทความนี้สอนวิธีการสร้าง autonumber PHP โดย autonumber นั้นคือตัวเลขที่รันเองอัตโนมัติไปเรื่อยๆ ด้วยเงื่อนไขที่กำหนด เราจะได้เรียนรู้วิธีการสร้าง autonumber หลายๆ แบบ ขึ้นอยู่กับการนำไปใช้งาน เช่น autonumber แบบเขียนโค้ดเพิ่มค่าไปเรื่อยๆ, หรือการตั้งค่าของฐานข้อมูล หรือการเขียนโค้ดสร้างหมายเลขคำสั่งซื้อ เป็นต้น มีรายละเอียดดังนี้
ตัวอย่าง การสร้าง autonumber PHP แบบบวกค่าไปเรื่อยๆ
<?php
$products = array(
"computer",
"notebook",
"mobile phone"
);
$autonumber = 1;
for( $i=0; $i<count($products); $i++ ) {
echo $autonumber." / ".$products[$i]."<br>";
$autonumber++;
}
?>
ผลลัพธ์
1 / computer
2 / notebook
3 / mobile phone
จากตัวอย่างเป็นการสร้าง autonumber ด้วยภาษา PHP รันตั้งแต่เลข 1 ไปเรื่อยๆ จนถึงลำดับสุดท้ายของข้อมูล โดยการสร้างตัวแปรขึ้นมาพร้อมกำหนดค่าเริ่มต้นเท่ากับ 1 และทุกครั้งที่วนลูปให้บวกค่าตัวแปรดังกล่าวเพิ่ม 1 จะทำให้ได้ autonumber อย่างที่ต้องการ
ตัวอย่าง การสร้าง autonumber ด้วยฐานข้อมูล
วิธีนี้ไม่เกี่ยวกับภาษา PHP แต่เป็นการกำหนด autonumber จากตัวฐานข้อมูล เช่น MySQL โดยตัวอย่างจะใช้ phpMyAdmin หรือ Adminer ในการกำหนด autonumber
1. สำหรับ phpMyAdmin ให้ติ๊กเลือก A_I แถว ที่ต้องการกำหนดให้เป็น autonumber โดยปกติจะเป็น column ที่เป็น Primary Key
2. สำหรับ Adminer ให้ติ๊กเลือก AI แถว column ที่ต้องการกำหนดให้เป็น autonumber โดยปกติจะเป็น column ที่เป็น Primary Key
ตัวอย่าง การสร้าง autonumber จากการเขียนโค้ด เช่น สร้างเลขรหัสสั่งซื้อ
<?php
$year = substr( date('Y') + 543, -2 );
$month = date('m');
// 1 คือรหัสที่ดึงมาจากฐานข้อมูล
$autonumber = 1;
$order_id = $year . $month . str_pad($autonumber, 4, '0', STR_PAD_LEFT);
echo "ORDER ID: " . $order_id;
?>
ผลลัพธ์
ORDER ID: 66110001
จากตัวอย่างสร้าง autonumber ด้วย format ปี/เดือน/รหัสหมายเลข โดยปี และเดือนดึงจากวันที่ปัจจุบัน (การใช้งานจริงควรดึงมาจากวันที่ในฐานข้อมูล) ส่วนรหัสหมายเลขดึงมาจาก AUTO_INCREMENT ที่เป็น primary key ของฐานข้อมูล การนำไปใช้งานจริงควรปรับแต่งให้เหมาะสมกับระบบงานที่พัฒนา