• Q&A
  • 회원가입
  • 로그인

[web] G5 - 더보기 버튼 클릭 시, 번호가 기존 번호에 이어서 출력되게 하려면? (무한더보기, 고유아이디, 고유번호, 고유숫자)

1,264  

https://sir.kr/g5_skin/20428 (더보기 게시판 스킨)인데,


예를 들어,

10개의 게시글을 미리 노출시킬 경우
기본적으로 for 반복문 통해 $i 값이 미리 보이게 한 게시글 개수만큼 반복해

각각의 $i 값이 (예: 0 ~ 9)까지의 숫자가 할당 됩니다.

코드 예: <?php for ($i=0; $i<count($list); $i++) {


그런데, 

더보기 버튼을 누르면 추가로 보이는 10개 가

또 다시 해당 for문을 통해서 $값이 0 ~ 9 까지의 숫자가 할당됩니다.


여기서, 제가 궁금한 건,

더보기를 클릭할 때마다 기존 숫자에 연이어 증가하게 할 수 있나 하는 겁니다.

즉, 고유 숫자를 가질 수 있도록 아래 숫자 부분을 제어할 수 있는지 궁금합니다.

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

 

 

초보인 제 생각은 아래 2가지 방법이 떠오릅니다. 


첫 째,

 

제이쿼리 click 이벤트 이용해 더 보기 요소를 클릭 시,
$( ".more_button" ).click(function(){

for 반복문의 반복 제어 숫자 부분 조작
for ($i=0; $i<count($list); $i++)

 


둘 째,

 

for문 안의 $i값이 더보기 버튼 클릭 시 마다 연이은 숫자가 되도록 하는 방법

(예) $i + 가공처리


그런데, 

jquery와 PHP 두 언어가 섞이다보니 살짝 많이 헤메고 있네요. 

 

[질문 요지]

각 게시글 당 0부터 시작하는 고유의 숫자를 부여해야 하는데,

기존 숫자가 반복돼 버려서 대략난감이네요.ㅎ


2018-11-07 (수) 10:24 1년전
해답:
https://sir.kr/qa/273925 (그누보드 플래토 님)

$only_i = ($page -1) * count($list) + $i; 
※ $page 경우, 값이 없을 경우 기본값음 1 임

[사용법]
$cnt = count($list) ;
for($i = 0; $i < $cnt; $i++) {
    $only_i = ($page -1) * $cnt + $i;
※ count($list)가 0을 갖게되면 php 7.2 이상에서는 에러 발생.
2018-11-09 (금) 10:35 1년전
관련질문 - jquery 최대값을 php 변수에 담기
https://sir.kr/qa/274382 (그누보드 플래토 님)


첫재,
page_n 은 HTML 로 클라이언트의 브라우저에 위치.
 
둘째,
$page는  서버에서 작동하는 PHP 변수.

셋째로,
[더보기] 클릭 시, 페이지 정보($page)를 서버에서 가져온 후 페이지값을 브라우저에서 갱신처리
 (Ajax 작동 코드 부분 참고)

따라서, 카운트를 하려는 $page는 갱신되지 않습니다.
왜냐면, 더보기 시점에 눌러지는 $page는 화면에 노출되는 값이 아닌 서버에서 처리되고 결과값에 해당되는 정보만 전달.


결국
$page의 값을 가지고 무엇을 하려는지에 따라
서버에서 작동하는 PHP가 아닌
클라이언트에서 작동하는 jQuery등으로 처리를 하고
서버상의 증가값을 처리하기 위해선 또 다른 ajax를 통해서 판단

방문자 수

오늘 1,352
어제 2,350
최대 2,397
이달 34,410
전체 982,156
Since 2012