การให้ PHP แบ่งหน้า Web page เพื่อการแสดงผลที่รวดเร็ว

สวัสดีครับ วันนี้เป็นวันหยุดการทำงานของใครหลายๆคน แต่ก็ยังมีอีกหลายๆคนเช่นกันที่ต้องทำงานกันอยู่ในวันนี้ เหมือนบทความของเว็บนี้แหละครับ ไม่มีวันหยุดเหมือนกัน มีให้อ่านกันทุกวัน 
วันนี้จึงเขียนบทความเรื่องง่ายๆมาให้อ่านกัน เป็นเรื่องเกี่ยวกับการแบ่งหน้าเพื่อการแสดงผลข้อมูลด้วย PHP ครับ
ถาม : การแบ่งหน้านั้นดียังไง ?
ตอบ :ดีหลายประการเลยครับ การแบ่งหน้าเพื่อแสดงผลข้อมูลนั้น สมมุติว่าคุณมีข้อมูลในฐานข้อมูล เก็บอยู่มากๆหลายๆ 1000 เรคคอร์ด มันจะไม่ดีแน่ๆเมื่อคุณนำมาแสดงผลในหน้าเว็บเพจทีเดียวหมด จะทำให้เกิดความล่าช้าในการแสดงผลที่ดึงออกมาจากฐานข้อมูล เพื่อเอามาโชว์ ทำให้ผู้ใช้งานต้องรอให้โหลดข้อมูลเสร็จหมดถึงจะดูได้ อีกอย่างถ้ามีคนเข้ามาใช้งานเยอะๆ การดึงข้อมูลที่มีคนร้องขอ กันมากๆ อาจจะทำให้ Database Server และ Server ของคุณทำงานหนักมากๆ และอาจจะทำให้ Server Down ได้ หรือถ้าคุณไปเช่า Server ที่จำกัดแบนวิดต่อเดือนน้อยไม่พอกับความต้องการของเว็บคุณ จะทำให้คุณต้องเสียค่าใช่จ่ายในค่าแบนวิดเกินอีกด้วย
อย่าลืมนะครับว่าถ้าเว็บคุณสวย ข้อมูล Content ดีน่าสนใจ แต่ถ้าโหลดนานๆ แสดงผลช้า ก็ไม่ค่อยจะมีใครอยากเข้าไปดูกันหรอกครับ
และถ้าได้อ่านบทความนี้กันแล้ว ก็เอาไปลองประยุกต์ใช้กับข้อมูลของคุณดูนะครับ ผมว่ามันช่วยได้มากเลยทีเดียว เรื่องการแสดงผลที่รวดเร็ว มาเริ่มต้นกันเลยดีกว่าครับ …..
ดาวน์โหลดโค้ดโปรแกรมตัวอย่างที่นี่ครับ

วันนี้จึงเขียนบทความเรื่องง่ายๆมาให้อ่านกัน เป็นเรื่องเกี่ยวกับการแบ่งหน้าเพื่อการแสดงผลข้อมูลด้วย PHP ครับ
ถาม : การแบ่งหน้านั้นดียังไง ?
ตอบ :ดีหลายประการเลยครับ การแบ่งหน้าเพื่อแสดงผลข้อมูลนั้น สมมุติว่าคุณมีข้อมูลในฐานข้อมูล เก็บอยู่มากๆหลายๆ 1000 เรคคอร์ด มันจะไม่ดีแน่ๆเมื่อคุณนำมาแสดงผลในหน้าเว็บเพจทีเดียวหมด จะทำให้เกิดความล่าช้าในการแสดงผลที่ดึงออกมาจากฐานข้อมูล เพื่อเอามาโชว์ ทำให้ผู้ใช้งานต้องรอให้โหลดข้อมูลเสร็จหมดถึงจะดูได้ อีกอย่างถ้ามีคนเข้ามาใช้งานเยอะๆ การดึงข้อมูลที่มีคนร้องขอ กันมากๆ อาจจะทำให้ Database Server และ Server ของคุณทำงานหนักมากๆ และอาจจะทำให้ Server Down ได้ หรือถ้าคุณไปเช่า Server ที่จำกัดแบนวิดต่อเดือนน้อยไม่พอกับความต้องการของเว็บคุณ จะทำให้คุณต้องเสียค่าใช่จ่ายในค่าแบนวิดเกินอีกด้วย
อย่าลืมนะครับว่าถ้าเว็บคุณสวย ข้อมูล Content ดีน่าสนใจ แต่ถ้าโหลดนานๆ แสดงผลช้า ก็ไม่ค่อยจะมีใครอยากเข้าไปดูกันหรอกครับ
และถ้าได้อ่านบทความนี้กันแล้ว ก็เอาไปลองประยุกต์ใช้กับข้อมูลของคุณดูนะครับ ผมว่ามันช่วยได้มากเลยทีเดียว เรื่องการแสดงผลที่รวดเร็ว มาเริ่มต้นกันเลยดีกว่าครับ …..
ดาวน์โหลดโค้ดโปรแกรมตัวอย่างที่นี่ครับ
เมื่อดาวน์โหลดไปแล้วให้ทำการแตก zip ไฟล์ออกครับ จะเห็นว่าข้างในโฟลเดอร์ split_page จะมีไฟล์split_page.php และ split_page.sql อยู่
ให้เอานำไฟล์ split_page.php ไปไว้ในไดเร็คทรอรี่ที่รัน PHP แล้วลองเอาไฟล์ simple data ที่ผมทำมาคือ split_page.sql ไปสร้างฐานข้อมูล ชื่อ split_page และ import ข้อมูลจาก split_page.sql เข้าไปจากนั้นเปิดไฟล์ split_page.php ออกมาแก้ไขข้อมูลของผู้ใช้ในการติดต่อฐานข้อมูล เสร็จแล้วบันทึกไฟล์ และลองรัน Script ดู
โดยตัวอย่างที่ผมทำไว้จะกำหนดการแสดงผล 5 เรคคอร์ด ต่อ 1 หน้าเอาไว้ ถ้าต้องการแก้ไขจำนวนการแสดงผล ให้เปิดไฟล์ split_page.php หาบันทัด
ให้เอานำไฟล์ split_page.php ไปไว้ในไดเร็คทรอรี่ที่รัน PHP แล้วลองเอาไฟล์ simple data ที่ผมทำมาคือ split_page.sql ไปสร้างฐานข้อมูล ชื่อ split_page และ import ข้อมูลจาก split_page.sql เข้าไปจากนั้นเปิดไฟล์ split_page.php ออกมาแก้ไขข้อมูลของผู้ใช้ในการติดต่อฐานข้อมูล เสร็จแล้วบันทึกไฟล์ และลองรัน Script ดู
โดยตัวอย่างที่ผมทำไว้จะกำหนดการแสดงผล 5 เรคคอร์ด ต่อ 1 หน้าเอาไว้ ถ้าต้องการแก้ไขจำนวนการแสดงผล ให้เปิดไฟล์ split_page.php หาบันทัด
/////////////// กำหนดจำนวนข้อมูลแสดงผลต่อ 1 หน้า ////////////////////// $per_page = 5; /////////////////////////////////////////////////////////////////// |
ทำการแก้ไขเลข 5 เป็นจำนวนที่ท่านต้องการ แล้วบันทึก
ผลที่ได้จากการรัน Script ดังรูปข้างล่างนี้ จะนำข้อมูลจากเรคคอร์ดที่เรากำหนดไว้ต่อ 1 หน้าขึ้นมาแสดงผล

ลองคลิ๊กหมายเลขหน้าต่อไป

ก็จะนำข้อมูลเรคคอร์ดต่อไปขึ้นมาแสดง

ถ้าคลิ๊ก กลับไป ก็จะแสดงผลข้อมูลหน้าก่อนหน้านี้

ส่วนรูปข้างล่างนี้คือโค้ดทั้งหมดของไฟล์ split_page.php มีแค่ไฟล์เดียวครับ ผมได้เขียนคำอธิบายกำกับไว้แล้วว่าให้แก้ไขตรงไหนบ้าง

0 ความคิดเห็น:
แสดงความคิดเห็น