채택완료

페이지마다 게시물 번호 문의

2019-08-07 (수) 22:11:17 4,230

게시물 리스트 페이지에서 한 페이지 게시물을 4개씩 나오게 합니다.

1페이지에 있는 게시물에 각각 번호를 0,1,2,3

2페이지에 있는 게시물에 각각 번호를 0,1,2,3

이런식으로 나타나는 각각 페이지마다 4개의 게시물에  0,1,2,3 번 값을 얻으려고 합니다.
(가장 위에 있는 최근 게시물이 0번)

이렇게 페이지 게시물마다 0,1,2,3 번 값을 구할수가 있을까요?

|

답변 4개 / 댓글 5개

채택된 답변
+20 포인트

/skin/board/스킨명/list.skin.php 파일에서..

for ($i=0; $i<count($list); $i++) {

이 부분이 각 줄을 불러오는 부분이고,

echo $i; 하시면.. 원하시는 번호가 나옵니다.

답변에 대한 댓글 1개

네 해결했습니다.~~ 감사합니다.

이게 도움이 될 것 같네요.

펌입니다.

MySQL: Row의 순위값 구하기


MySQL은 ranking 함수가 없다. 그래서 row의 순위 값을 구할려면 variable를 사용하거나 count를 사용한 sub query를 사용해서 구하는 방식이 일반적으로 사용되고 있다.
Variable를 사용해서 순위 값 구하기

Copy
SELECT    id,  value,  ranking
FROM (
  SELECT      t.id,    t.value,
                @rownum := @rownum + 1 AS ranking
  FROM TABLE t
  JOIN (SELECT @rownum := 0) r
  ORDER BY t.value
)


Count와 Sub Query를 사용해서 순위 값 구하기

Copy
SELECT
  t.id,
  (SELECT COUNT(*) FROM table WHERE value <= t.value) AS ranking,
  t.value
FROM table t
WHERE t.value = 'value to get'

Variable을 사용해서 순위값을 구하는건 전체 row의 순위 값을 구할때 더 적합하고 count와 sub query를 사용해서 순위 값을 구하는것은 어떠한 특정 row의 순위 값을 구하는데 더 적합하다.

출처 : https://rampart81.github.io/post/mysql_get_row_position/

답변에 대한 댓글 1개

감사합니다. ^^

list.php파일의 

if ($page < 1) ...

바로위에서

$page_rows = 4;

로 해도 되고

환경값으로 설정하려면

게시판관리에서 원하는 게시판을 [수정] 

디자인/양식 영역 하단에

페이지 목록수 (PC)   [ 4 ]

모바일 페이지 목록수 [ 4 ]

로 입력하면 될듯 합니다.

답변에 대한 댓글 1개

감사합니다. ^^

리스트면 보통 for 반복문으로 돌릴텐데..

for($i = 0; $i <4; $i++) {

     $i." ".게시물제목변수

답변에 대한 댓글 2개

전 까먹어서 모르는데 질문이 그 답이 아닌것 같아요.
1p 1~10
2p 11~20
3p 21~30
이렇다면 한번의 쿼리로
1~4, 11~14, 21~24 이렇게 뽑을수 있냐는 말 같네요.
네~~ 감사합니다. ^^

답변을 작성하려면 로그인이 필요합니다.