ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์จาก สิงหาคม, 2015

ความแตกต่างในการประกาศใช้งาน Datatable ที่หลายคนอาจจะไม่รู้

จากบทความก่อนที่พูดถึงการใช้งาน Datatable คร่าวๆ ไป มาต่อคราวนี้ต้องบอกเลยว่า อันนี้ต้องจำจริงๆ เนื่องจาก Datatable นั้นมีปลั๊กอิน และ API เยอะแยะมากมายให้เราเลือกใช้ แต่ว่ารูปแบบการใช้งานดันไม่เหมือนกัน หากใครมองผ่านๆ หรือไม่ได้อ่านคู่มือให้ดีๆ จะพบว่า Datatable นั้นมีวิธีเรียกใช้งาน หรือประกาศใช้งาน 2 แบบ คือ

สองแบบนี้ต่างกันตรง การใช้งานในส่วนเสริมต่างๆ แบบที่ขึ้นต้นด้วยตัวใหญ่จะใช้งานได้ปกติ แต่จะไม่สามารถเรียกใช้ปลั๊กอินต่างๆ ได้

http://datatables.net/plug-ins/api

ถ้าหากว่าเปลี่ยนไปใช้แบบตัวเล็ก ก็จะไม่สามารถเรียกใช้งาน Properties ต่างๆ ของ Datatables ได้อีก วิธีแก้ของผม คือ ประกาศการใช้งานหลักด้วยตัวใหญ่ จากนั้นเวลาจะใช้ปลั๊กอินก็ประกาศใหม่อีกครั้งด้วยแบบที่ขึ้นต้นด้วยตัวเล็ก ก็จะสามารถใช้งานได้ทั้ง 2 แบบแล้วครับ

มาเข้าใจ และใช้ Datatable ดึงข้อมูลแบบ Server-side ด้วย PHP, MySQL กันเถอะ

มีช่วงหนึงผมเคยนำ datatable มาพัฒนาในงานแต่เกิดปัญหาเนื่องจากมีข้อมูลขนาดใหญ่ ทำให้เกิดการโหลดในครั้งแรกที่โหลดหน้าเพจนั้นๆ เนื่องจากผมใช้ Ajax ในการโหลดข้อมูลทั้งหมดมาในครั้งเดียวด้วยจำนวนข้อมูล 1000 ขึ้น ซึ่งตอนนั้นผมคิดว่าการทำ preload น่าจะช่วยได้ แต่ว่าถ้า user เกิดเผลอไปกด refesh หรือแก้ไขข้อมูลเวลากลับมาที่หน้าข้อมูลก็ต้องโหลดใหม่อีก ทำให้ผมเลิกใช้ datatable ไปเลย เพราะคิดว่ามันคงไม่เหมาะ

แต่ในความจริงแล้ว datatable ก็ได้มีสิ่งที่มาแก้ในจุดนั้นได้ ซึ่งเรียกว่า server-side โดยการที่อนุญาตให้เรา query ข้อมูลออกมาก่อนแล้วส่งมาให้ datatable อ่านข้อมูลในจำนวนที่น้อยลง หลักการก็เหมือนๆ กับบทความการทำสร้าง XML จากข้อมูลขนาดใหญ่นั่นแหละครับ แต่มีเงื่อนไขเพียงแต่ว่า ต้อง Filter และส่งข้อมูลออกมาในรูปแบบที่ตรงตามหลักของ datatable เท่านั้น ( บางครั้งเวลาเข้าไปอ่าน Document หรือดู Example จะงงๆ ว่าอะไรเยอะแยะ ) โดยวันนี้จะมาแนะนำการใช้งานแบบง่ายๆ กันเลย :D