- 사이트 전체 게시물수 , 전체 조회수2022년 12월 05일
- TheStorybook
- 작성자
- 2022.12.05.:37
1차 소스
조회수가 최근 20개 게시물에서만 합산이 되네요
{@ $all_document_count = false; $all_readed_count = false; $board_list_output = executeQueryArray('board.getAllBoard'); if ( !empty($board_list_output->data) ): $board_list = []; foreach( $board_list_output->data as $val ): $board_list[] = $val->module_srl; endforeach; $args = new stdClass; $args->module_srl = $board_list; $all_document_output = executeQueryArray('document.getDocumentList', $args, ['readed_count']); if ( !empty($all_document_output->data) ): $all_document_count = $all_document_output->total_count; $all_readed_count = 0; foreach( $all_document_output->data as $val ): $all_readed_count = $all_readed_count + $val->readed_count; endforeach; endif; endif; } 총 게시물 수 : {$all_document_count} 게시물 총 조회수 : {$all_readed_count}
2차 개선 소스
{@ $board_list_output = executeQueryArray('board.getAllBoard'); if ( !empty($board_list_output->data) ): $board_list = []; foreach( $board_list_output->data as $val ): $board_list[] = $val->module_srl; endforeach; $query = 'SELECT COUNT(readed_count) AS count, SUM(readed_count) AS sum FROM documents WHERE module_srl IN (' . implode(',', array_fill(0, count($board_list), '?')) . ')'; $oDB = DB::getInstance(); $stmt = $oDB->query($query, $board_list); $result = $stmt->fetchAll()[0]; endif; } 총 게시물 수 : {$result->count} 게시물 총 조회수 : {$result->sum}
참고: 제 경우에는 이렇게 나왔어요.
- 총 17개의 게시판 리스트 가져오는 데 걸리는 속도 : 0.0001 sec
- 총 405개 게시물을 카운트하고, 조회수 합계(46986)를 가져오는 데 걸리는 속도 : 0.0001 sec
BY 윤삼
추가 =============
123456712345678 포인트를 -> 1,234,567 12345678 (표시) 하는 방법
number_format() 를 추가하면 됨
예를 들어 이렇게
{number_format($result->sum)}
'XE(Rhymix) > 변수 응용' 카테고리의 다른 글
게시판 목록 글번호 자릿수를 늘릴수 있을까요? (0) 2022.12.06 게시판 목록 번호 BEST 1,2,3,4,5 순으로 만들기 (0) 2022.12.05 게시판 > 전체게시물수출력하기 (0) 2022.12.04 사이트 전체 회원수 표시하기 (0) 2022.12.04 그룹별 회원수 및 활동회원 목록표시 (0) 2022.12.04 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)