diff --git a/src/main/java/com/cardiff/client_project/mapper/SuperAdminMapper.java b/src/main/java/com/cardiff/client_project/mapper/SuperAdminMapper.java
index 875327dfaf774e26572f62dc4d1301566e608def..0e4c448b955359bf1e2b5cfd9789be9cc3b4eb0a 100644
--- a/src/main/java/com/cardiff/client_project/mapper/SuperAdminMapper.java
+++ b/src/main/java/com/cardiff/client_project/mapper/SuperAdminMapper.java
@@ -388,4 +388,16 @@ public class SuperAdminMapper {
         System.out.println(query);
         return query;
     }
+
+    /**
+     * page select
+     * @param pageSize
+     */
+    public List<HospitalVO> selectPageHospital(Integer pageSize,Integer pageNumber) {
+        String sql="select * from hospital LIMIT ? OFFSET ?";
+        int offset = (pageNumber - 1) * pageSize;
+        List<HospitalVO> query = jdbcTemplate.query(sql, new Object[]{pageSize,offset}, new BeanPropertyRowMapper<>(HospitalVO.class));
+        System.out.println(query);
+        return query;
+    }
 }
diff --git a/src/main/java/com/cardiff/client_project/service/imp/SuperAdminServiceImp.java b/src/main/java/com/cardiff/client_project/service/imp/SuperAdminServiceImp.java
index 48ed88bce6246a5e66c717dfb3357785813857e4..5a7aa6cfde5887350ab189ef692e49a2c95bdf88 100644
--- a/src/main/java/com/cardiff/client_project/service/imp/SuperAdminServiceImp.java
+++ b/src/main/java/com/cardiff/client_project/service/imp/SuperAdminServiceImp.java
@@ -13,6 +13,7 @@ import com.cardiff.client_project.pojo.vo.AdminVO;
 
 import com.cardiff.client_project.pojo.vo.HospitalVO;
 import com.cardiff.client_project.pojo.vo.SelectVO;
+import com.cardiff.client_project.service.HospitalService;
 import com.cardiff.client_project.service.SuperAdminService;
 import com.cardiff.client_project.utils.Result;
 import org.springframework.beans.BeanUtils;
@@ -212,7 +213,23 @@ public class SuperAdminServiceImp implements SuperAdminService {
             }
         }
         if(type.equals("hospital")){
-
+            List<HospitalVO> hospitalvos = superAdminMapper.selectPageHospital(pageSize, pageNumber);
+            //get all and count items
+            List<Hospital> hospitallist = superAdminMapper.selectAllHospital();
+            if(!hospitalvos.isEmpty()){
+                System.out.println(hospitallist.size());
+                Integer count=hospitallist.size()%pageSize==0?hospitallist.size()/pageSize:hospitallist.size()/pageSize+1;
+
+                hospitalvos.forEach(hospitalVO -> {
+                    if (hospitalVO.getStatus() == 1) {
+                        hospitalVO.setStatus_str("ACTIVE");
+                    }else {
+                        hospitalVO.setStatus_str("INACTIVE");
+                    }
+                });
+
+                return Result.success(count.toString(),hospitalvos);
+            }
         }
         return Result.error(ResponseCode.ERROR);
     }
diff --git a/src/main/resources/static/js/mainHospitalView.js b/src/main/resources/static/js/mainHospitalView.js
index 22d8d4702ee4860fbbde1c75a974befcb15e194c..f441f02657bd2152dedd0335e981be1577165ba6 100644
--- a/src/main/resources/static/js/mainHospitalView.js
+++ b/src/main/resources/static/js/mainHospitalView.js
@@ -286,4 +286,39 @@ function updateTable(data) {
         `;
         tbody.append(tr);
     });
-}
\ No newline at end of file
+}
+
+function pageSelect(pageSize,paginationDiv,pageNumber) {
+    $.ajax({
+        contentType: "application/json",
+        url: `/superAdmin/pageSelect?type=hospital&pageSize=${pageSize}&pageNumber=${pageNumber}`,
+        type: "GET",
+        dataType: "Json",
+        success: function (data){
+            console.log(data)
+            if (data.code != 0) {
+                console.log(data.code)
+                console.log(data.data)
+                paginationDiv.innerHTML = ""; //clear old button
+                for (let i = 1; i <= data.msg; i++) {
+                    const button = document.createElement("button");
+                    button.textContent = i;
+                    button.style.margin = "0 5px";
+                    button.style.padding = "5px 10px";
+                    button.style.cursor = "pointer";
+                    button.onclick = () => pageSelect(pageSize,paginationDiv,button.textContent);
+                    paginationDiv.appendChild(button);
+                }
+                updateTable(data.data)
+                //location.reload()
+            } else {
+                alert(data.msg)
+            }
+        },
+    })
+}
+$(document).on("change","#page-size",function (){
+    let pageSize=document.getElementById("page-size").value
+    let paginationDiv = document.getElementById("pagination");
+    pageSelect(pageSize,paginationDiv,"1");
+})
\ No newline at end of file
diff --git a/src/main/resources/templates/mainHospitalView.html b/src/main/resources/templates/mainHospitalView.html
index 8531c7773fb71da8cabe13a2c7af3edc4bf31b7f..d94c6ca80679403fd7d9abc3831a807060edfae9 100644
--- a/src/main/resources/templates/mainHospitalView.html
+++ b/src/main/resources/templates/mainHospitalView.html
@@ -110,7 +110,23 @@
     <button type="button" onclick="location.reload()">Cancel</button>
 </div>
 
-
+<div style="display: flex; align-items: center; gap: 10px; justify-content: center;">
+    <select id="page-size" style="background-color: #f9f9f9;
+        border: 1px solid #ccc;
+        border-radius: 4px;
+        padding: 8px 12px;
+        font-size: 14px;
+        color: #333;
+        cursor: pointer;
+        width: 150px;
+        transition: all 0.3s ease;">
+        <option value="">items per page</option>
+        <option value="1">1</option>
+        <option value="2">2</option>
+        <option value="15">15</option>
+    </select>
+    <div id="pagination" style="margin-top: 10px;"></div>
+</div>
 <script src="/js/mainHospitalView.js"></script>
 
 </body>