월별 데이타 통계 추출 질문입니다.

월별 데이타 통계 추출 질문입니다.

QA

월별 데이타 통계 추출 질문입니다.

답변 6

본문

목적은 블로그에서 사이드에 아래와 같이 월별로 홈페이지 전체에서  메뉴처럼 데이터 추출된 것을 보여주고 클릭하면 해당 데이타가리스트로 출력되는 형태를 원하고 있습니다. 설치된 게시판은 그누보드 입니다

  1. March 2021
  2. February 2021
  3. January 2021
  4. December 2020
  5. November 2020
  6. October 2020
  7. September 2020
  8. August 2020
  9. July 2020
  10. June 2020
  11. May 2020
  12. April 2020

아래와 같이 하면 된다고 하길래 free 보드에서만 1월에 해당하는 것을 뽑아 보려고 하니 아무것도 안나오네요..  물론 원하는 것은 게시판 전체이지만요~~


$sql = "SELECT DATEPART(MONTH, 01), COUNT(*)
FROM free
GROUP BY DATEPART(MONTH, 01)";

이 질문에 댓글 쓰기 :

답변 6

출력하는 코드가 없기 때문에 아무것도 표시되지 않은건 당연하죠 ;;

전부다 가져 오고싶다 ? 그렇다면 다음처럼 ㅎㅎ;
 
$sql = "SELECT COUNT(*) FROM free";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
 echo "몽땅글을가져오세요 : " . $row[0];

참고로 COUNT 함수는 테이블의 레코드 수를 반환하는 함수에요
그럼 수고하세요 화이팅~!^^

디비쿼리문에서 DATEPART 함수는 MS에서 사용하는 함수입니다

MySQL에서는 MONTH 함수를 사용하시면 됩니다. ^

피라미드 님 감사합니다~~그런데 아래와 같이 index.php 에 삽입하고 새로고침 했는데 아무것도 표시가 안되네요

<?php

 $sql = "SELECT MONTH(date), COUNT(*) FROM free WHERE MONTH(date) = 1 GROUP BY MONTH(date)";

?>

파라미드님 답변은 감사한데요~~둘다 페이지가 홈페이지 자체 위 글이훈론 첨부한 것처럼 출력이 안되네요thumb-3661035113_1690068513.6143_730x525.png~~

이게 도움될련지 몰르겠으나 일단은 모든 행을 가져와서 배열에 저장한다고한다면?
즉, 데이터를 목록 형식으로 표시하려면 루프를 사용하여 배열을하고  반복하고 각 행을 표시한다 뭐이런거죠---;;
그럼 화이팅~!
$rowsforeach

foreach($rows as $row) {
    echo "<li>" . $row['column_name'] . "</li>";
}

감사합니다. 근데 페이지오류가 뜨고 아무것도 안나오네요~~

mysqli_fetch_array()를 사용하여 모든 것을 .........가져와라 그리고 row[]배열처리 쭉쭉~~ 뭐이런식.

$result = mysqli_query($conn, $sql);
$rows = array();
while($row = mysqli_fetch_array($result)) {
    $rows[] = $row;
}

답변으로 해결 될 것 같아 보이지 않는데 채택을 해놓은 것은 해결이 되었다는 것인가요?

어쨌던 아래처럼 하세요

 

 $qq=sql_query("select substr(wr_datetime, 1, 7) as yymm, count(*) as cnt from g5_write_free group by substr(wr_datetime,1,7) order by yymm");
  while($row=sql_fetch_array($qq)) $list=$row;

print_r($list);

 

전체 게시판 대상으로하려면 index.php에서 latest함수를 사용하는 코드에 전체 게시판을 하나씩

찾아서 사용하는 코드가 있으니 이것을 이용해서 위 코드를 latest 함수 자리에 넣어서

년월별로 누적합계가 되도록 만드세요

 

 

해결은 안되었는데 해결할 수 있는 능력은 안되어서 채택으로 해놓았습니다. 그누가 채택을 안하면 다른 질문을 할 수 없도록 되어 있어서요..~~
답변 감사합니다.

위처럼하니  free게시판에서 Array ( [yymm] => 2023-07 [cnt] => 11 ) 같이 11개의 게시글이 카운트 되긴하네요~~~ 


원하는 것은 전체 게시판에 대한 것이고 클릭하면 해당월에 게시된 글이 모두 리스트로 출력되는 것이었지만 너무 복잡하여 더이상 질문올리기가 미안하기두 해서~~채택으로 해놓기두 했구여~~

위에 답변을 더 많이 연구해 보도록 하겠습니다

설명대로 만들기 어려운가요? 코드를 만들어드리죠

  $dayArr =array();
  $result =sql_query(" select bo_table from `{$g5['board_table']}` ");
  for ($i=0; $row=sql_fetch_array($result); $i++) {
$table = $g5['write_prefix'].$row['bo_table'];  
$qq=sql_query("select substr(wr_datetime, 1, 7) as yymm, count(*) as cnt from $table where wr_is_comment=0 group by substr(wr_datetime,1,7) ");
        while($row2=sql_fetch_array($qq)){
  $ym = $row2['yymm']; if(!isset($list[$ym])) $list[$ym] =0;
  if(!in_array($ym, $dayArr) ) $dayArr[] =$ym;
  $list[$ym] +=$row2['cnt'];
}
}
//<------------------------댓글도 포함하려면 where절 삭제


//----------------------필요한 곳에서 날짜순 출력하기
  sort($dayArr);
  for($i=0; $i< count($dayArr); $i++){
  $ym = $dayArr[$i];
  echo '<br>'.$ym.'==>'.$list[$ym];
  }

햐~~균이님 코드를 보니 대단하십니다~~

그런데 위에 것 실행하면 2023-07==>76 요런 식으로  출력되네요~~

즉, 7월에 등록된 모든 글의 개수를 카운트하는 것이네요~~ 요기까지 감사합니다..

 

나머진 욕심입니다.. ~~ 위에 것까지만 해두 너무 너무 감사합니다

2023-07==>76 에 링크를 걸어서 7월에 등록된 글이 게시판처럼 리스트로 죽 출력되게 하고 싶었거든요~~

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 65
© SIRSOFT
현재 페이지 제일 처음으로