특정글의 페이지 위치를 찾을 수 있을까요?
본문
글이 100개정도있으면
10개씩 리스트를 불러오고
특정글(글순서가 34라고 가정했을때)의 위치는 3페이지정도에 위치하고있습니다
여기서 특정글의 페이지값(3페이지)을 구해야하는데
어떻게 구해야할까요?
ajax로 리스트 및 페이징을 구현했을때 상단에 고정되는글이있는데 그글옆에 이동버튼누르면 해당글이 위치한 페이지(리스트)로 이동되는걸 구현할려고하거든요
그러기 위해선 해당 글의 페이지위치가 필요한데 이 위치값을 어떻게 구해야할지 모르겠네요
limit 0, 10 = 1페이지
특정글의 순서가 34번째라고 했을때 3페이지므로 limit 30, 10 이 되어야함
그러므로
$페이지 = floor($순서 / $페이지블럭갯수);
순서와 페이지블럭갯수를 나누면 페이지번호가 될수있는데....
여기서 순서를 어찌구해야할지...
물론 wr_id값을 가져오기때문에 전체글을 가져와서 여기서 for문을 돌려 해당 wr_id값이 왔을때 멈추고 순서를 찾으면 되겠지만...
근데 이경우엔 전체글 for을 돌려버리는상황이라 만약 천개 만개이상되면 ... 안좋을것같다는 생각이들어서 한번에 해당 번호의 순서를 알수있는 방법이 없을까하고 질문남기게되었네요
머리가 안돌아가서 글쓰면서 생각정리를해도 방법이 생각나질않네요 끙...
정확히 하고싶은것은 예를 들자면
https://sir.kr/cm_free/1559953?page=8
여기서 뒤에 page값이 붙어야 밑에 리스트에 8페이지에 위치한 글이라는걸 알수있잖아요
뒤에 page값을 없애버리면 밑에 리스트는 1페이지를 보여주게됩니다
https://sir.kr/cm_free/1559953
이 경우에 자동으로 해당글의 페이지 위치를찾아서 아래에 표시되는 리스트는 8페이지를 자동으로 보여줄수있도록 하고싶어서요 ㅠㅠ
아으 순서만 한방에 알수있는 방법이있으면 될텐데...
답변 1
SELECT COUNT(*) as cnt FROM g5_write_free WHERE wr_id <= '102' AND wr_is_comment = '0'
이렇게 하시면 쓰신 글의 wr_id까지 몇개의 글이 써졌는지 카운트 해줍니다.
받아 온 후 한 페이지당 몇개 보여지는지의 값을 게시판 설정에서 확인하여 가져와서 나눠주시면 됩니다.