สร้างรหัสสินค้า หรือหมายเลข ID ด้วย str_pad()

บันทึกโดย TaTump วันที่ 12 January 2008 | 532 views

รหัสสินค้าส่วนใหญ่จะเป็นแบบมีการกำหนดหลักอาจจะ 5-6หลัก และอาจมีคำย่อนำหน้า เช่น

CP000045 ,CP000569 เป็นต้น

ซึ่งแน่นอนวิธีการออกแบบการเก็บข้อมูลเราก็ต้องใช้ฟิลด์นึงเก็บคำย่อ และอีกฟิลด์นึงเก็บหมายเลข ID ซึ่งหากข้อมูลออกมา โดยอิงจาก ตย. ด้านบนก็จะเป็น

CP45 ,CP569

สังเกตมั้ยครับว่าเลขศูนย์ข้างหน้ามันหายไป อ่า…เราจะทำอย่างไรให้มันแสดงผลครบล่ะ ผมขออุปมาว่ารหัสมี 6 หลักแล้วกันนะครับ

วิธีแก้แบบที่ 1 แก้ที่การออกแบบ database โดยเซ็ต Attributes ให้เป็น UNSIGNED ZEROFILL

CREATE TABLE `product` (

`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`PRODUCT_ID` INT( 6 ) UNSIGNED ZEROFILL NOT NULL

) ENGINE = MYISAM ;

วิธีแก้แบบที่ 1 ใช้ฟังก์ชั่น str_pad อันที่เกรี่นหัวไว้เน่าะ ^_^

$input=45;
echo str_pad($input,6, "0", STR_PAD_LEFT); // กำหนดให้เพิ่มเลขศูนย์จากทางซ้ายรวมกันแล้วครบ 6 หลัก
//จะได้เป็น 000045

จะว่าไป str_pad สามารถเพิ่มทางขวาหรือทั้งสอง้างก็ได้โดยการกำหนด pad_type ดังนี้
STR_PAD_RIGHT= เพิ่มจากขวา 450000
STR_PAD_LEFT=เพิ่มจากขวา 000045
STR_PAD_BOTH=เพิ่มทั้งสอง 004500

Bookmark and Share

One Response to “สร้างรหัสสินค้า หรือหมายเลข ID ด้วย str_pad()”

  1. wotlk gold

    Business is the salt of life


คอมเม้นท์ซิจ๊ะ