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


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

ในขณะเลือกสินค้าและจะออกใบสั่งซื้อนั้น  ผมตั้งใจจะสร้างรหัสใบสั่งซื้อขึ้น แล้วจะเอาข้อมูลในตารางที่1นั้น มาลงในตารางที่2 พร้อมกับรหัสที่สร้างขึ้น บันทึกเก็บไว้   และผมจะแสดงข้อมูลการสั่งซื้อ ณ ขณะนั้น



คำถาม 

- ผมจะสร้างรหัสใบสั่งซื้ออย่างไร  เช่น 10/xxxx-001  อาจจะเป็น  เดือน/ปี-รหัสรันไปเรื่อยๆ   ซึ่งสามารถค้นหาย้อนหลังได้

- ในการแสดงผลใบสังซื้อ ณ ขณะนั้น  ใช้อะไรเป็นเงื่อนไขดี กลัวว่มีการรีเฟรช แล้วมันจะหาไม่เจอ


28 ต.ค. 2553 1 1,930

การกำหนดรหัสไม่มีอะไรเลยครับ ใช้เลขที่เป็น 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
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^