본문 바로가기

PHP list api paging 구현하기

web by 코나인 2024. 10. 9.
반응형

조회 api에서 paging 구현하기

예) 주문(order) 조회

 

 

js로 page 정보 표시하기는 아래 참조

https://web.todaycoding.com/entry/js%EB%A1%9C-page-%EC%A0%95%EB%B3%B4-%ED%91%9C%EC%8B%9C%ED%95%98%EA%B8%B0

 

js로 page 정보 표시하기

js로 page 정보를 표시합니다.  페이지 api는 아래 참조https://web.todaycoding.com/entry/PHP-list-api-paging-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0 PHP list api paging 구현하기조회 api에서 paging 구현하기예) 주문(order) 조회

web.todaycoding.com

 

 

 

페이지 번호가 없으면 1로 설정하고

페이지당 아이템 수를 5로 설정하여

오프셋을 계산

$page = isset($_POST['page']) ? intval($_POST['page']) : 1;
$items_per_page = 5;
$offset = ($page - 1) * $items_per_page;

 

 

페이지 정보 조회

$sql_count = "
SELECT COUNT(*) as total
FROM tbl_order
WHERE member_id = '$member_id'
";
$count_result = sql_query($sql_count);
$total_items = sql_fetch_array($count_result)['total'];
$total_pages = ceil($total_items / $items_per_page);

 

 

 

데이터 조회

$sql_normal = "
SELECT *
FROM tbl_order
WHERE member_id = '$member_id'
ORDER BY created_at DESC
LIMIT $offset, $items_per_page
";
$result = sql_query($sql_normal);
for($i=0; $row=sql_fetch_array($result); $i++) {
  $orders[] = $row;
}

 

 

order, page 조홥

echo json_encode(array(
  'error' => '', 
  'data' => array(
      'orders' => $orders,
      'pagination' => array(
          'current_page' => $page,
          'total_pages' => $total_pages,
          'total_items' => $total_items,
          'items_per_page' => $items_per_page
       )
  )
));

 

반응형

댓글