ถ้าไม่ใช้ Cron
1. ขั้นตอนที่1
การอัพเดทข้อมูลใน PHP + MySQL สามารถใช้เวลาและเงื่อนไขอื่นๆได้ โดยไม่จำเป็นต้องใช้
CRON เสมอไป
เช่น อาศัยเงื่อนไขเวลาของเซอร์เวอร์, เวลาที่เขียนไฟล์ , เวลาที่ดาต้าเบสมีการแก้ไขครั้งล่าสุด
How to get date and time from server filemtime >>
http://php.net/manual/en/function.filemtime.php Getting the date/time of the last change to a MySQL database ฯลฯ
คุณสามารถค้นคว้าเพิ่มเติมได้อีกจากอินเตอร์เน็ต
2. ขั้นตอนที่2
เลือกข้อมูลจากตารางที่ต้องการอัพเดท ตารางนั้นต้องมีอินเด็กซ์ไว้สำหรับอ้างอิง (ซึ่งปกติ มันต้องมีอยู่แล้ว)
ถ้าต้องการอัพเดทเพียง 1 เร็คคอร์ด ก็ Update .... WHERE ...เร็คคอร์ดที่ต้องการเพียงเร็คคอร์ดเดียว
ถ้าต้องการอัพเดท 10 เร็คคอร์ด ก็ อาจใช้ foreach หรือ for loop เอาก็ได้แล้วแต่ถนัด
3. ในทางปฏิบัต
เท่าที่ผมทำ มีหลักคือ
3.1 เช็คเวลา
ถ้า เวลาของเซอร์เวอร์ >= 19.01 น.
เลือกตาราง สินค้า
3.2 ดึงข้อมูลจาก เซอร์เวอร์ใหญ่ เพื่อเลือกราคาล่าสุด มาสิบรายการ
โดยข้อมูลสำคัญคือ รหัสสินค้า(ถ้าดึงจาก อเมซอน ก็คือ ASIN ถ้า อาลีเอ็กเพรส ก็คือ productId )
3.3 อัพเดทตาราง สินค้า โดยระบุ ผ่าน foreach หรือ for loop
if(AMAZONASIN=MyASIN){
Update .... WHERE AMAZONASIN=MyASIN;
}
นี่แค่แนวคิดนะครับ ความจริงประยุกต์ได้มากมายถ้าทำความเข้าใจได้ดีพอ
หวังว่าพอจะช่วยได้บ้างนะครับ