Devdit
 

PHP เลขที่ใบเสร็จจากฐานข้อมูล MySQL

1.3K

PHP เลขที่ใบเสร็จจากฐานข้อมูล MySQL บทความนี้สอนเขียนโค้ดสร้างเลขที่ใบเสร็จ โดยอ้างอิงลำดับตัวเลขจากข้อมูลในฐานข้อมูล MySQL ตัวอย่างสร้างเลขที่ใบเสร็จ คือ ปีเดือนและตัวเลขลำดับ สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง สร้างฐานข้อมูลชื่อ demo และตารางชื่อ orders

CREATE TABLE `orders` (
  `id` int NOT NULL AUTO_INCREMENT,
  `date` date NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

 

ตัวอย่าง PHP เลขที่ใบเสร็จจากฐานข้อมูล MySQL

<?php
  $c = mysqli_connect("localhost", "root", "", "demo");
  mysqli_query( $c, "SET NAMES UTF8" );

  $sql = " SELECT MAX(id) AS id FROM orders ";
  $q = mysqli_query( $c, $sql );
  if( $q ) {
    $f = mysqli_fetch_assoc( $q );
    $id = $f['id'] + 1;
    switch( strlen($id) ) {
      case 1 : $id = "000".$id; break;
      case 2 : $id = "000".$id; break;
      case 3 : $id = "0".$id; break;
    }
    $orders_id = substr((date("Y")+543), 2).date("m").$id;
    echo "เลขที่ใบเสร็จ คือ ".$orders_id;
  }
  mysqli_close( $c );
?>

ผลลัพธ์

เลขที่ใบเสร็จ คือ 65080001

คำอธิบาย

PHP เลขที่ใบเสร็จ จากตัวอย่างสร้างเลขที่ใบเสร็จ เช่น 65080001 โดย 65 คือปีปัจจุบัน 08 คือเดือนปัจจุบัน และ 0001 คือลำดับตัวเลขของหมายเลขที่ใบเสร็จ มีลำดับขั้นตอนดังนี้

1. ดึงรหัสมากที่สุดของ column id จากตาราง orders ด้วย MAX(id) และบวกค่าเพิ่ม 1

2. ใช้คำสั่ง switch case และ strlen เพื่อนับจำนวน และหมายเลข 0 ให้ครบ 4 ตำแหน่ง เช่น 0001

3. ดึงปี และแปลงเป็น พ.ศ. พร้อมดึง 2 ตำแหน่งด้วย substr(( date("Y") + 543 ), 2) และดึงเดือน ด้วย date("m")

4. นำปี เดือน และลำดับตัวเลขจากฐานข้อมูลมาต่อกัน ได้เป็น PHP เลขที่ใบเสร็จจากฐานข้อมูล MySQL

แก้ไข 1 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ