diff --git a/src/bases/BaseRepository.php b/src/bases/BaseRepository.php
index 32c1ac290c011e6c452bcf1471a00a96ec589930..40279397922823fe2a6736aa0658290ea237243a 100644
--- a/src/bases/BaseRepository.php
+++ b/src/bases/BaseRepository.php
@@ -85,12 +85,26 @@ abstract class BaseRepository
             $query .= " LIMIT $perPage OFFSET $offset";
         }
 
-        echo $query;
 
         $stmt = $this->pdo->prepare($query);
         $stmt->execute();
 
-        return $stmt->fetchAll(PDO::FETCH_ASSOC);
+        $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
+
+
+        $countQuery = "SELECT COUNT(*) as total FROM $this->tableName";
+        if (!empty($where)) {
+            $countQuery .= " WHERE " . implode(" AND ", $where);
+        }
+
+        $stmtCount = $this->pdo->prepare($countQuery);
+        $stmtCount->execute();
+        $totalCount = $stmtCount->fetch(PDO::FETCH_ASSOC)['total'];
+
+        return [
+            'count' => $totalCount,
+            'result' => $results,
+        ];
     }
 
     public function update($id_col, $id, $data, $paramTypes)
diff --git a/src/controllers/cat/CatController.php b/src/controllers/cat/CatController.php
index 567619907ca256a4500aa88c5e6c4fef63b8aeb5..e30fc734c066532300bcc899806a9ca2141436f1 100644
--- a/src/controllers/cat/CatController.php
+++ b/src/controllers/cat/CatController.php
@@ -38,11 +38,11 @@ class CatController extends BaseController
         "pageSize" => $_GET['pageSize'] ?? null,
         "isDesc" => $_GET['isDesc'] ?? null
       ]);
-      $_count = $this->srv->countCats()[0];
-
       $responseCats = array_map(function ($cat) {
         return $cat->toResponse();
-      }, $cats);
+      }, $cats["result"]);
+
+      $_count = $cats["count"];
 
       // Include the HTML template
       require_once PROJECT_ROOT_PATH . "/public/view/cats.php";
diff --git a/src/services/CatSrv.php b/src/services/CatSrv.php
index 275829aaae4ff40d04bf960febce9ab7267ed5fa..e29c6d344f44a35ebe816664ad6aded47704503c 100644
--- a/src/services/CatSrv.php
+++ b/src/services/CatSrv.php
@@ -49,11 +49,11 @@ class CatSrv extends BaseSrv
 
         $catsResult = $this->repository->select('*', $where, $order, $config["pageNo"], $config['pageSize'], $config['isDesc']);
         $cats = [];
-        foreach ($catsResult as $catResult) {
+        foreach ($catsResult["result"] as $catResult) {
             $cat = new CatModel();
             $cats[] = $cat->constructFromArray($catResult);
         }
-        return $cats;
+        return ["result" => $cats, "count" => $catsResult["count"]];
     }
 
     public function createCat($catData)