การสร้างรหัสของใบสั่งซื้อ
ผมได้มีการทำระบบขายสินค้า มีการเก็บข้อมูลที่เลือกลงตารางที่1 โดยเอาวันที่มาเทียบ แล้วลบทิ้งไปเมือ่เป็นวันใหม่
ในขณะเลือกสินค้าและจะออกใบสั่งซื้อนั้น ผมตั้งใจจะสร้างรหัสใบสั่งซื้อขึ้น แล้วจะเอาข้อมูลในตารางที่1นั้น มาลงในตารางที่2 พร้อมกับรหัสที่สร้างขึ้น บันทึกเก็บไว้ และผมจะแสดงข้อมูลการสั่งซื้อ ณ ขณะนั้น
คำถาม
- ผมจะสร้างรหัสใบสั่งซื้ออย่างไร เช่น 10/xxxx-001 อาจจะเป็น เดือน/ปี-รหัสรันไปเรื่อยๆ ซึ่งสามารถค้นหาย้อนหลังได้
- ในการแสดงผลใบสังซื้อ ณ ขณะนั้น ใช้อะไรเป็นเงื่อนไขดี กลัวว่มีการรีเฟรช แล้วมันจะหาไม่เจอ
<?php
$r = $month.'/'.$year.'-'.sprintf('%04d', $id);
?>
การป้องกันการ refresh แล้ว ข้อมูลที่เลือกไว้หาย ทำได้หลายวิธีครับ วิธีที่ผมแนะนำคือ
1.เมื่อเลือกซื้อสินค้าชิ้นแรก บังคับให้ไปหน้า login หรือ ไปลงทะเบียนสมาชิกก่อน ถึงจะเลือกได้ ซึ่งเราจะสามารถใช้ id ของสมาชิกที่ login เป็นเงื่อนไขในเก็บบันทึกการเลือกสินค้าได้ครับ
2.เก็บ session ของผู้เลือกเป็นเงื่อนไข
ข้อดีของข้อ 1 มีเยอะครับ เช่น ไฟดับ session หาย ข้อมูลเดิมก็ยังอยู่ครับ เพียงแต่ login ก็จะเห็นรายการที่เคยเลือกได้ หรือ สามารถเก็บประวัติการเลือกกไว้ดู เดือนหน้า ปีหน้าได้
ส่วนข้อ 2 ใช้ได้ดีในกรณีที่ไม่ต้องการระบบสมาชิกครับ สามารถเลือกได้จนเสร็จ แล้ว ค่อยไปลงที่อยู่เอาตอนท้ายแค่นั้น และที่สำคัญ คือ เราไม่ต้องมาคอยลบ db เองด้วยครับ