PHP SQL Server List Data Record Paging/Pagination (PDO)
PHP SQL Server List Data Record Paging/Pagination (PDO) บทความนี้จะเป็นตัวอย่างของ PDO กับ sqlsrv และการแบ่งหน้า (Paging) การเขียน PHP เพื่ออ่านข้อมูลจาก Database ของ SQL Server มาแสดงผลทางหน้าจอในรูปแบบของแต่ล่ะหน้าด้วย function ต่าง ๆ ของ PDO กับ sqlsrv ทำงานร่วมกับการ fetch ข้อมูลในรูปแบบของ array ซึ่งเหมาะกับข้อมูลที่มีประมาณมาก ๆ
ฐานข้อมูลและตารางของ SQL Server Database
Query สำหรับหา Row Number เพื่อจะกำหนดการแสดงผลของแถว
SELECT c.* FROM (
SELECT ROW_NUMBER() OVER(ORDER BY CustomerID) AS RowID,* FROM customer
) AS c
ในการแสดงผลในแต่ล่ะหน้า เราจะต้องทำการหา Record เริ่มต้นและ Record สิ้นสุดที่จะแสดงผลในแต่ล่ะหน้า
Syntax รูปแบบการใช้งาน
$sql = " SELECT c.* FROM (
SELECT ROW_NUMBER() OVER(ORDER BY CustomerID) AS RowID,* FROM customer
) AS c
WHERE c.RowID > $row_start AND c.RowID <= $row_end
";
$stmt = $conn->prepare($sql);
$stmt->execute();
while($result = $stmt->fetch( PDO::FETCH_ASSOC ))
{
//$result["CustomerID"];
}
// $row_start คือ Record เริ่มต้น
// $row_end คือ Record สิ้นสุด
Example ตัวอย่างการเขียน PHP กับ SQL Server เพื่อแบ่งหน้าข้อมูล