A-AA+then

การสร้างรหัสของใบสั่งซื้อ

1,324

    ผมได้มีการทำระบบขายสินค้า มีการเก็บข้อมูลที่เลือกลงตารางที่1 โดยเอาวันที่มาเทียบ แล้วลบทิ้งไปเมือ่เป็นวันใหม่
    ในขณะเลือกสินค้าและจะออกใบสั่งซื้อนั้น  ผมตั้งใจจะสร้างรหัสใบสั่งซื้อขึ้น แล้วจะเอาข้อมูลในตารางที่1นั้น มาลงในตารางที่2 พร้อมกับรหัสที่สร้างขึ้น บันทึกเก็บไว้   และผมจะแสดงข้อมูลการสั่งซื้อ ณ ขณะนั้น
    
    คำถาม 
    - ผมจะสร้างรหัสใบสั่งซื้ออย่างไร  เช่น 10/xxxx-001  อาจจะเป็น  เดือน/ปี-รหัสรันไปเรื่อยๆ   ซึ่งสามารถค้นหาย้อนหลังได้
    - ในการแสดงผลใบสังซื้อ ณ ขณะนั้น  ใช้อะไรเป็นเงื่อนไขดี กลัวว่มีการรีเฟรช แล้วมันจะหาไม่เจอ

1 ความคิดเห็น

การกำหนดรหัสไม่มีอะไรเลยครับ ใช้เลขที่เป็น auto_increment ของ MySQL มาสร้างเป็นรหัสได้เลยครับ โดยทำการจัดรูปแบบ หรือเชื่อม string ธรรมดา ถ้าจะให้ค้นหาจากรหัสได้ ก็ให้เก็ยรหัสที่ชื่อมไว้ ลง db ด้วยครับ แต่ถ้าไม่ เราก็ สร้างรหัสนี้ตอนแสดงผลก็ได้ครับ
<?php
$r = $month.'/'.$year.'-'.sprintf('%04d', $id);
?>


การป้องกันการ refresh แล้ว ข้อมูลที่เลือกไว้หาย ทำได้หลายวิธีครับ วิธีที่ผมแนะนำคือ
1.เมื่อเลือกซื้อสินค้าชิ้นแรก บังคับให้ไปหน้า login หรือ ไปลงทะเบียนสมาชิกก่อน ถึงจะเลือกได้ ซึ่งเราจะสามารถใช้ id ของสมาชิกที่ login เป็นเงื่อนไขในเก็บบันทึกการเลือกสินค้าได้ครับ
2.เก็บ session ของผู้เลือกเป็นเงื่อนไข

ข้อดีของข้อ 1 มีเยอะครับ เช่น ไฟดับ session หาย ข้อมูลเดิมก็ยังอยู่ครับ เพียงแต่ login ก็จะเห็นรายการที่เคยเลือกได้ หรือ สามารถเก็บประวัติการเลือกกไว้ดู เดือนหน้า ปีหน้าได้

ส่วนข้อ 2 ใช้ได้ดีในกรณีที่ไม่ต้องการระบบสมาชิกครับ สามารถเลือกได้จนเสร็จ แล้ว ค่อยไปลงที่อยู่เอาตอนท้ายแค่นั้น และที่สำคัญ คือ เราไม่ต้องมาคอยลบ db เองด้วยครับ
1
^