자신감뿅뿅
623
2021-05-24 13:07:07
2
148

페이지마다 동적으로 게시물을 출력해야하는데 조언좀 부탁드립니다.


설문조사 페이지에 대한 페이지네이션 중입니다.


한페이지당 5개의 게시물을 출력하는데  


보통 1,2,3,4,5 이런식으로 출력해서 보여준다고하면


1번문항의 하위문항 즉, 1-1, 1-2, 이런문항들이있을경우에는

1번에 대한 항목들은 없기때문에 


1, 1-1, 1-2, 2, 3, 4 이렇게 6개가 출력되야합니다.


다음페이지에 대한 출력은 잘나오는데 문제는 이전페이지로 돌아갈때입니다.


1페이지 limit 0, 5 

2페이지 limit 5, 5

3페이지 limit 10, 6 

4페이지 limit 16, 5 이런식으로 출력을 할때는


현재페이지 시작인덱스 = 이전전페이지 시작인덱스 + 이전페이지 보여준 게시물 

현재페이지 출력할 게시물수  = 기본값 5 + 하위문항을 가진 부모문항 갯수

이렇게 해서 출력을하였습니다.


이전페이지를 누르면 limit 16 ,5 ->  limit 10, 6

이 처리를 어떻게해야할지모르겠습니다... 4일째 이러고있는데 조언좀 부탁드립니다 ㅠㅠ




0
  • 답변 2

  • 현파랑
    362
    2021-05-24 13:38:47

    컬럼을 하나 추가해서 문항별 인덱스로 관리하면 어떨까요?

    그럼 무조건 5씩 보여줄테니 0, 5, 5, 5, 10, 5 이런식으로 균등하게 페이지를 불러올 테고,

    하위 문항이 존재한다면 view단에서 파싱을 해도 충분히 출력될 수 있을것 같아요

  • ReuNyo
    296
    2021-05-24 13:57:24

    table구조가 어떤 지와 쿼리를 어떤 식으로 작성하였는지는 모르겠지만

    쿼리를 한번 더 감싸서 같은 항목끼리 그룹 처리하면 될 것으로 보여지네요.

    그럼 limit과 offset도 일관성 있게 작성되리라 보여집니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.