질문/조언질답게시판

모듈에서 페이지 조회수 카운트가 증가하는 시점에 db에 해당 정보를 db에 업데이트 합니다.

 

triggerUpdateReadedCountBefore(&$obj)

여기 함수에서 db 업데이트가 됩니다.

 

 

게시판 read.html 파일에 같은 db의 같은 항목을 조회해서 확인하는 코드가 있습니다.

 

 

문서에 접속이 이루어지게 되면 게시판 read.html 파일에서는 모듈에서 업데이트 전 상황을 조회하게 되나요 아니면 모듈에서 업데이트 된 그 값을 조회하게 되는 건가요?

 

사실 의도는 read 파일에 db를 확인하는 목적은 현재 접속되기 바로 직전의 db 값을 확인하려는 것 이거든요.

 

그냥 순진한 생각은

일단 해당 게시글에 접속(read 파일을 읽어야) 해야 하기 때문에 read.html 파일에 작성된 db 조회 코드가 먼저 작동하고 나서 이후 조회수 업데이트 작업이 진행되어 이때 모듈에서 db update 작업이 후순으로 이어질 것 같은 생각입니다.

  • profile

    구체적으로 어떤 상황인지는 모르겠습니다만, 스킨(*.html)이 나중일 것 같습니다. 모듈에서 조회수 증가 처리 등 자기가 할 일을 모두 마친 후에 변수들을 정리해서 스킨에 넘겨주니까요. 일반적인 스킨에서는 DB를 직접 조회하지 않고, 모듈에서 넘겨준 변수들을 가공하여 HTML로 출력할 뿐입니다.

     

    스킨에서 DB를 조회한다 해도, 조회하는 행위 그 자체가 조회수를 증가시키지는 않습니다. 조회수를 증가시키라고 update 쿼리를 날려줘야 증가가 되지요.

  • profile profile

    아.. 그럼 모듈에서 처리해줘야 하는거군요... 흠.. 모듈에서 해당 값을 확인해서 처리하는 것을 연구해 봐야겠습니다.

     

    모듈(사이트운영관리모듈)에서는 

    triggerUpdateReadedCountBefore(&$obj) 

    함수에서 조회수가 실제로 증가 되는 상황에서  현재 시간을 db에 업데이트를 합니다.

    (문서 모듈에서 실제로  조회수가 증가되기 before 시점에서 이 모듈이 현재 시간을 모듈 db에 regdate에 업데이트 합니다.)

     

     

    게시판 스킨에서는 

    해당 모듈의 쿼리를 이용해 해당 regdate 에 담긴 값을 가져와 서 기준의 시간과 차이를 구해서 처리합니다.

     

    그런데 말씀 하신대로

    방문자가 해당 게시글을 접속하자마자 모듈에서 먼저 regdate 를 먼저 업데이트를 해버리면 

    스킨에서는 현재 접속으로 갱신된 regdate를 가져오게 되버려서 제가 원하는 값이 아닌 최신 값을 가져와버려서 문제가 되네요.

     

    스킨에서 조회하는 db는 카운트 증가에 영향을 주는 db는 아니구요. 별도 모듈에서 기록하는 regdate 값을 가져오는 조회입니다.

  • profile profile
    실제 테스트해보니 현재 접속으로 update 된 값이 출력되어지네요..
  • profile profile
    그렇다면 트리거를 사용해서 조회수 갱신 전의 값을 기억해 두었다가
    나중에 스킨에서 그걸 불러다 쓰셔야겠네요.
  • profile profile
    감사합니다. 말씀 하신대로 구현이 잘 된거 같습니다.
  • profile
    실제로 출력을 한번 해봐서 테스트를 해봐야겠습니다.