diff --git a/api/pharmacy_lpo.php b/api/pharmacy_lpo.php index 733502b..8b2ef75 100644 --- a/api/pharmacy_lpo.php +++ b/api/pharmacy_lpo.php @@ -55,13 +55,32 @@ try { } } elseif ($_SERVER['REQUEST_METHOD'] === 'GET') { if ($action === 'get_lpos') { - $stmt = $pdo->query(" + $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; + $limit = isset($_GET['limit']) ? (int)$_GET['limit'] : 20; + $offset = ($page - 1) * $limit; + + // Count total + $countStmt = $pdo->query("SELECT COUNT(*) FROM pharmacy_lpos"); + $total = $countStmt->fetchColumn(); + + $stmt = $pdo->prepare(" SELECT l.*, s.name_en as supplier_name FROM pharmacy_lpos l LEFT JOIN suppliers s ON l.supplier_id = s.id ORDER BY l.created_at DESC + LIMIT :limit OFFSET :offset "); - echo json_encode($stmt->fetchAll()); + $stmt->bindValue(':limit', $limit, PDO::PARAM_INT); + $stmt->bindValue(':offset', $offset, PDO::PARAM_INT); + $stmt->execute(); + + echo json_encode([ + 'data' => $stmt->fetchAll(PDO::FETCH_ASSOC), + 'total' => $total, + 'page' => $page, + 'limit' => $limit, + 'pages' => ceil($total / $limit) + ]); } elseif ($action === 'get_lpo_details') { $id = $_GET['id'] ?? 0; @@ -72,15 +91,15 @@ try { WHERE i.lpo_id = ? "); $stmt->execute([$id]); - echo json_encode($stmt->fetchAll()); + echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC)); } elseif ($action === 'get_suppliers') { $stmt = $pdo->query("SELECT id, name_en, name_ar FROM suppliers ORDER BY name_en ASC"); - echo json_encode($stmt->fetchAll()); + echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC)); } elseif ($action === 'get_drugs') { $stmt = $pdo->query("SELECT id, name_en, name_ar, sku, price FROM drugs ORDER BY name_en ASC"); - echo json_encode($stmt->fetchAll()); + echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC)); } } @@ -90,4 +109,4 @@ try { } http_response_code(500); echo json_encode(['error' => $e->getMessage()]); -} +} \ No newline at end of file diff --git a/includes/pages/pharmacy_lpos.php b/includes/pages/pharmacy_lpos.php index 04ee599..9fdf4cc 100644 --- a/includes/pages/pharmacy_lpos.php +++ b/includes/pages/pharmacy_lpos.php @@ -24,6 +24,8 @@ + + @@ -161,9 +163,10 @@ + \ No newline at end of file