A-AA+then

การแบ่งหน้าใน widget

947
เรียนพี่กรกฎ 

การแบ่งหน้าใน widget ทำให้แสดงรายการ และแบ่งหน้าได้แล้ว แต่เมื่อกดที่เลขหน้าที่ต้องการ ตัว widget ไม่เปลี่ยนหน้าตามที่กำหนด สามารถแก้ไข หรือว่ามีจุดสังเกต ในส่วนไหนบ้างไหมครับ

ตัวอย่าง
บน address bar มี ..&page=3
แต่ echo page ออกมากลับไม่มีค่าครับ เป็นค่าว่างๆ

ขอบคุณครับ

1 ความคิดเห็น

ก็อย่างที่ผมเคยบอกแล้วว่าโดยหลักการแล้วทั้ง widget และ module ก็ไม่ได้มีอะไรต่างกัน มันต่างกันแค่วิธีเรียกใช้เท่านั้น และอีกอย่างคือ module เนื้อหาจะถูกใส่ลงบน $content ในขณะที่ widget เนื้อหาจะถูกใส่ลงในตัวแปร $widget

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

ที่นี้ คำถามบอกว่า ไม่สามารถรับค่า page ได้ คำตอบก็แบ่งเป็น 2 กรณีครับ คือ
1.ไม่ได้ส่ง ในกรณีนี้ไม่น่าจะใช่ เพราะเห็นบอกว่าบน addressbar มีค่านี้
2.ไม่ได้รับ เช่นเดียวกับการส่งค่าโดยทั่วไปที่ ตัวแปรของ PHP จะต้องรับค่าก่อนถึงจะนำไปใช้ได้ (ถ้า PHP เวอร์ชั่นเก่าๆอาจไม่ต้อง แต่ก็ไม่ปลอดภัยแล้วแหละ) ดังนั้นการที่ตัวแปร $page ไม่มี อาจเพราะไม่ได้รับค่ามาก็เป็นได้

ทีนี้เนื่องจากเว็บเป็น Ajax ถ้าเปิดใช้โหมดนี้ การรับส่งค่าอาจเป็นได้ทั้ง $_POST และ $_GET ดังนั้นควรตรวจรับจากทั้ง 2 ช่องทาง เช่น

$page = isset($_POST['page']) ? $_POST['page'] : $_GET['page'];

หรืออาจเป็น

$page = $_REQUEST['page'];

ก็ได้
1
^