ลองทำเว็บยืม/คืนสินค้า รบกวนด้วยครับ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ลองทำเว็บยืม/คืนสินค้า รบกวนด้วยครับ
เป็นโปรแกรมแบบยืมของ ของ แต่ละคน
1. คือผมได้ลองเขียนโปรแกรมยืมคืนสินค้าครับแล้วอยากให้มันเตือนข้อความขึ้นมาเตือนหลังจากที่ถึงวันกำหนดคืน หรือเกินวันที่กำหนดคืน
2. แล้วก็เวลาคืนต้องไม่ให้เกิน ประมาณ 7 วันหลังจากที่ยืม และ ถ้ายืมเกิน 5 ก็จะไม่ให้ยืม และ ถ้าเกินกำหนดส่งคืน 2 ครั้งก็ไม่ให้ยืม
ผมได้ลองทำเบื้องต้นแล้วครับ คือ
ตามข้อ 1. ผมเขียน php ให้จับข้อมูลใน database ของวันที่คืน มาชนกับวันนี้โดยใช้ฟังชั่น date ของวันนี้ ถ้ามันเหมือนกันให้ อัพเดตเปลี่ยนสถานะของ ของนั้น เป็นว่า "เกินกำหนดคืน" แต่มาลองคิดอีกที ถ้าไม่มีการเปิดโปรแกรมขึ้นมาในวันที่มีของต้องส่งคืน มันก็จะไม่อัพเดตครับ เช่น ถ้าของต้องคืนวันที่ 19/06/2010 ก็ให้มาชนกับฟังชั่น Date ของวัน 19/06/2010 มันก็จะอัพเดตให้ แต่ถ้า ไปเปิดวันที่ 20/06/2010 มันก็ไม่มีอะไรเกิดขึ้นครับ
ตามข้อ 2. ถ้าเป็นการตรวจการยืมเกิน 5 ผมทำได้ โดยให้ไปนับสถานะว่ามีของที่ยืมถึง 5 รึยัง ส่วนกำหนดไม่ให้ยืมเมื่อเกินกำหนดส่งคืน 2 ครั้ง ก็ต้องทำข้อ 1. ให้ได้ก่อน และส่วนการยืมไม่ให้เกิน 7 วันหลังจากยืม อันนี้คิดไม่ออกครับ
รบกวนช่วยแนะนำแนวทางให้ด้วยนะครับ หรือให้ลองเขียนภาษาอื่นก็ได้ครับ ผมจะลองดู ขอบคุณครับ

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ใฟ้ทำการบันทึกวันที่ยืม กับวันที่กำหนดคืน เป็น datetime ในตอนแรกที่ทำการยืม
และบันทึกวันที่คืน ในตอนที่ส่งสินค้าคืน
ตามข้อ 1 เงื่อนไขเตือนเมื่อถึงวันกำหนดคืน หรือเกินวันกำหนดคืน ใช้คำสั่ง sql ดึงนี้
1 | SELECT * FROM table WHERE UNIX_TIMESTAMP(return_date)<=UNIX_TIMESTAMP(); |
ตามข้อ 2
-- เวลาคืนต้องไม่ให้เกิน ประมาณ 7 วัน +++ ก็กำหนดตั้งแต่ตอนแรกที่ยืม
-- ถ้ายืมเกิน 5 ก็จะไม่ให้ยืม +++ ก็ตามที่เข้าใจ
-- กำหนดไม่ให้ยืมเมื่อเกินกำหนดส่งคืน 2 ครั้ง +++ ตัวนี้ให้กำหนดสิทธ์การยืมเป็น field หนึ่งในฐานข้อมูล เป็น int(1) ใช้เมื่อคืนสินค้า ถ้าคืนสินค้าเกิน ก็ให้บวกค่าไปครั้งละ 1 จากนั้นก็เอา field นี้มาตรวจสอบว่าเคยคืนเกินกำหนด 2 ครั้ง หรือยัง
-- ส่วนสุดท้าย การยืมไม่ให้เกิน 7 วันหลังจากยืม +++ คำถามไม่ชัดเจน

"-- ส่วนสุดท้าย การยืมไม่ให้เกิน 7 วันหลังจากยืม +++ คำถามไม่ชัดเจน"
ขอโทษครับ คือ
กำหนดต้องคืนของภายใน 7 วันหลังจากที่ยืม
ผมให้กำหนดวันแรกที่ยืม สมมุติ วันที่ 19/06/2010 แล้วต้องคืนภายใน 26/06/2010 ถ้าเอาวันมาลบกันก็จะได้ 7 ก็คือเกินวัน
แต่ถ้าสมมุติ ยืม 28/06/2010 แล้วคืน 05/07/2010 ทำยังไงดีครับ ช่วแนะนำด้วยครับ ขอบคุณครับ

ถ้าเข้าใจไม่ผิด ต้องการที่หาวันที่อีก 7 วันข้างหน้านับตั้งแต่วันที่ทำการยืม เพื่อบันทึกลงฐานข้อมูลแบบ อัตโนมัติ หรือไม่
ยังไงลองดูตัวอย่างต่อไปนี้ดู เป็นการหาค่าวันที่ สำหรับบันทึกลงฐานข้อมูล
1 2 3 4 5 6 | <?php $borrow_date = date ( "Y-m-d H:i:s" ); // ตัวแปรเก็บวันที่ปัจจุบัน หรือใช้เป็นวันที่ที่ทำการยืม $due_date = date ( "Y-m-d H:i:s" , strtotime ( "+7 day" )); // ตัวแปรเก็บวันที่กำหนดส่งคืนถ้านับหลังจากวันทียืมอีก 7 วัน $due_date = date ( "Y-m-d H:i:s" , strtotime ( "+6 day" )); // ตัวแปรเก็บวันที่กำหนดส่งคืนถ้านับรวมวันที่ยืม // นำค่าวันที่ทั้ง 2 ไปบันทึกลงฐานข้อมูล ?> |
กำหนดต้องคืนของภายใน 7 วันหลังจากที่ยืม
การหาวันที่ครบกำหนดที่ต้องคืน มี 2 กรณี
1.ถ้านับวันที่ยืมด้วยอีก 1 วัน บวกกับวันที่หลังจากที่ยืมอีก 6 วัน ก็จะได้วันที่กำหนดต้องคืน ดังนี้
สมมติยืม 19/06/2010 แล้วต้องคืนภายในวันที่ 25/06/2010
ถ้าคืนของในวันที่ 25/06/2010 แสดงว่าคืนของภายใน 7 วัน
2.ไม่นับวันที่ยืม นับวันหลังจากวันที่ยืม จะได้บวกอีก 7 หลังจากวันที่ยืม ก็จะได้วันที่กำหนดคืน ดังนี้
สมมติยืม 19/06/2010 แล้วต้องคืนภายในวันที่ 26/06/2010
ถ้าคืนของในวันที่ 26/06/2010 แสดงว่าคืนของภายใน 7 วัน
การหาวันที่ครบกำหนดคืน สามารถหาได้จากตัวอย่าง โค้ด php ข้างต้น ตามแต่ละกรณี

