도와주세요..기간과 평균값 정보
도와주세요..기간과 평균값본문
게시판의 조회수는 등록일로 부터 현재까지 총합이 표시되는데
오늘날짜와 등록일자 사이의 날짜수를 계산한 다음
(즉, 글쓴 날부터 오늘까지 몇일이 경과했는지 일수를 계산한다는거죠)
현재조회수를 이 기간중의 날짜수로 나누면 일 평균 조회수가 나오지 않겠습니까.
이 평균조회수를 게시판 뷰페이지에서 보여주고자 하면 어떻게 소스를 만들어야 될까요?
기초가 없이 혼자서 끄적거려봤는데 계속 이상한 결과값만 나오다보니
고수님들께 한 수 배우고자 합니다.
게시판의 힛트수라는 것이 글쓴 날짜를 고려하지 않은 상태에서 현재시점만 갖고 비교하게 되니까 힛트수로만 보면 이변이 없는 한, 옛날글이 최근글보다는 당연히 힛트수가 많아질 것이고
그렇다면 힛트순으로 자료를 출력하는 의미가 큰 의미가 없다는 생각이 들어서말이죠..
오늘날짜와 등록일자 사이의 날짜수를 계산한 다음
(즉, 글쓴 날부터 오늘까지 몇일이 경과했는지 일수를 계산한다는거죠)
현재조회수를 이 기간중의 날짜수로 나누면 일 평균 조회수가 나오지 않겠습니까.
이 평균조회수를 게시판 뷰페이지에서 보여주고자 하면 어떻게 소스를 만들어야 될까요?
기초가 없이 혼자서 끄적거려봤는데 계속 이상한 결과값만 나오다보니
고수님들께 한 수 배우고자 합니다.
게시판의 힛트수라는 것이 글쓴 날짜를 고려하지 않은 상태에서 현재시점만 갖고 비교하게 되니까 힛트수로만 보면 이변이 없는 한, 옛날글이 최근글보다는 당연히 힛트수가 많아질 것이고
그렇다면 힛트순으로 자료를 출력하는 의미가 큰 의미가 없다는 생각이 들어서말이죠..
댓글 전체

오늘날짜와 등록일자 사이의 시간 :
mktime('시','분','초','월','일','년') 을 사용하셔서...
등록일자 - 오늘날짜를 하시면 time 형태의 숫자가 나오게 됩니다..
다시 data('y-m-d h:i:s', 결과값);
하시면 그 사이 시간이 나오겠습니다..
mktime('시','분','초','월','일','년') 을 사용하셔서...
등록일자 - 오늘날짜를 하시면 time 형태의 숫자가 나오게 됩니다..
다시 data('y-m-d h:i:s', 결과값);
하시면 그 사이 시간이 나오겠습니다..

^^ ;; 어쩌다 답변을 다는게 June44 쪽에만 답변이 달려서 ^^;;;; 죄송합니다.
부분 부분 구해야 한다면 ^^ 위의 php 쪽을 이용하시는게 맞으실듯 하구요
전체적으로 구해야 한다면 SQL 쪽의 힘들 빌리셔서
UNIX_TIMESTAMP(now()) <- 현재 시간(?) 을 반환 (서버기준) 이 함수를 이용해 보는것도 도움이 되실듯 합니다. DATE("Y-m-d H:i:s") 형태로 반환 합니다 -_-ㅋㅋ
저는 ^^ ;;
query 문에 (UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(brd_wdate))/3600 이걸 씁니다
현재 서버시간 기준으로 1시간 단위로 짜르는 겁니다 ^^;;
86000 이면 1루가 되겠죠 ^^
60초 * 60 분 = 3600 1시간
60*60*24 = 86400 1일
ex)
$qry = "SELECT (
UNIX_TIMESTAMP( now( ) ) - UNIX_TIMESTAMP( wr_datetime )
) /3600 AS TimeCnt, wr_hit
FROM $bo_table";
$row = sql_fetch($qry);
그러면 $row[TimeCnt] 에 값이 담깁니다. 현재 시간부터 작성일까지 흘러간 시간이 1시간 단위로 --
결과값이 나오면
$RstSpendTime = ($row[TimeCnt] / $row[wr_hit]) ;
이걸 응용하시면 좀더 나은 결과가 있을듯 합니다.
그누 보드에 바로 적용하시기에는 조금 무리가 있으실듯 하나 약간 응용하신다면
전체적인 부분에서 미리 1번의 쿼리타임으로 시간을 뽑아오기 때문에 많은 시간을 줄일수 있으실지도 모르겠습니다.
그누 보드에서의 query 문 연구해 보시면 재미 있는 부분과 많을 부분을 얻으실수 있으실겁니다 ^^
부분 부분 구해야 한다면 ^^ 위의 php 쪽을 이용하시는게 맞으실듯 하구요
전체적으로 구해야 한다면 SQL 쪽의 힘들 빌리셔서
UNIX_TIMESTAMP(now()) <- 현재 시간(?) 을 반환 (서버기준) 이 함수를 이용해 보는것도 도움이 되실듯 합니다. DATE("Y-m-d H:i:s") 형태로 반환 합니다 -_-ㅋㅋ
저는 ^^ ;;
query 문에 (UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(brd_wdate))/3600 이걸 씁니다
현재 서버시간 기준으로 1시간 단위로 짜르는 겁니다 ^^;;
86000 이면 1루가 되겠죠 ^^
60초 * 60 분 = 3600 1시간
60*60*24 = 86400 1일
ex)
$qry = "SELECT (
UNIX_TIMESTAMP( now( ) ) - UNIX_TIMESTAMP( wr_datetime )
) /3600 AS TimeCnt, wr_hit
FROM $bo_table";
$row = sql_fetch($qry);
그러면 $row[TimeCnt] 에 값이 담깁니다. 현재 시간부터 작성일까지 흘러간 시간이 1시간 단위로 --
결과값이 나오면
$RstSpendTime = ($row[TimeCnt] / $row[wr_hit]) ;
이걸 응용하시면 좀더 나은 결과가 있을듯 합니다.
그누 보드에 바로 적용하시기에는 조금 무리가 있으실듯 하나 약간 응용하신다면
전체적인 부분에서 미리 1번의 쿼리타임으로 시간을 뽑아오기 때문에 많은 시간을 줄일수 있으실지도 모르겠습니다.
그누 보드에서의 query 문 연구해 보시면 재미 있는 부분과 많을 부분을 얻으실수 있으실겁니다 ^^

죄송할거 까지야..^^;; 제가 성의없이 답변 다는건데여 머..;;; 그냥 방향만 제시해주는...음흐흐흐-ㅁ-
지나치지 않고 답변해 주신 두 분 모두 감사합니다.
아직은 좀더 헤메야 하겠지만, 많은 참고가 되었습니다.
고맙습니다.
아직은 좀더 헤메야 하겠지만, 많은 참고가 되었습니다.
고맙습니다.