월별 데이타 통계 추출 질문입니다. 채택완료
목적은 블로그에서 사이드에 아래와 같이 월별로 홈페이지 전체에서 메뉴처럼 데이터 추출된 것을 보여주고 클릭하면 해당 데이타가리스트로 출력되는 형태를 원하고 있습니다. 설치된 게시판은 그누보드 입니다
- https://getbootstrap.com/docs/5.3/examples/blog/#">March 2021
- https://getbootstrap.com/docs/5.3/examples/blog/#">February 2021
- https://getbootstrap.com/docs/5.3/examples/blog/#">January 2021
- https://getbootstrap.com/docs/5.3/examples/blog/#">December 2020
- https://getbootstrap.com/docs/5.3/examples/blog/#">November 2020
- https://getbootstrap.com/docs/5.3/examples/blog/#">October 2020
- https://getbootstrap.com/docs/5.3/examples/blog/#">September 2020
- https://getbootstrap.com/docs/5.3/examples/blog/#">August 2020
- https://getbootstrap.com/docs/5.3/examples/blog/#">July 2020
- https://getbootstrap.com/docs/5.3/examples/blog/#">June 2020
- https://getbootstrap.com/docs/5.3/examples/blog/#">May 2020
- https://getbootstrap.com/docs/5.3/examples/blog/#">April 2020
아래와 같이 하면 된다고 하길래 free 보드에서만 1월에 해당하는 것을 뽑아 보려고 하니 아무것도 안나오네요.. 물론 원하는 것은 게시판 전체이지만요~~
</p>
<p>$sql = "SELECT DATEPART(MONTH, 01), COUNT(*)
FROM free
GROUP BY DATEPART(MONTH, 01)";</p>
<p>
답변 6개
답변에 대한 댓글 2개
$sql = "SELECT COUNT(*) FROM free";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
echo "몽땅글을가져오세요 : " . $row[0];
참고로 COUNT 함수는 테이블의 레코드 수를 반환하는 함수에요
그럼 수고하세요 화이팅~!^^
댓글을 작성하려면 로그인이 필요합니다.
햐~~균이님 코드를 보니 대단하십니다~~
그런데 위에 것 실행하면 2023-07==>76 요런 식으로 출력되네요~~
즉, 7월에 등록된 모든 글의 개수를 카운트하는 것이네요~~ 요기까지 감사합니다..
나머진 욕심입니다.. ~~ 위에 것까지만 해두 너무 너무 감사합니다
2023-07==>76 에 링크를 걸어서 7월에 등록된 글이 게시판처럼 리스트로 죽 출력되게 하고 싶었거든요~~
댓글을 작성하려면 로그인이 필요합니다.
답변으로 해결 될 것 같아 보이지 않는데 채택을 해놓은 것은 해결이 되었다는 것인가요?
어쨌던 아래처럼 하세요
$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 함수 자리에 넣어서
년월별로 누적합계가 되도록 만드세요
답변에 대한 댓글 3개
답변 감사합니다.
위처럼하니 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];
}
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
$result = mysqli_query($conn, $sql);
$rows = array();
while($row = mysqli_fetch_array($result)) {
$rows[] = $row;
}
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 2개
일단 배열을 해주셔야합니다.
즉, 데이터를 목록 형식으로 표시하려면 루프를 사용하여 배열을하고 반복하고 각 행을 표시한다 뭐이런거죠---;;
그럼 화이팅~!
$rowsforeach
foreach($rows as $row) {
echo "<li>" . $row['column_name'] . "</li>";
}
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 3개
<?php
$sql = "SELECT MONTH(date), COUNT(*) FROM free WHERE MONTH(date) = 1 GROUP BY MONTH(date)";
?>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
while($row = mysqli_fetch_array($result)) { echo $row[0] . "월 등록된글 : " . $row[1] . "<br>"; }
요래하면 월 게시 등록된 글을 가져 올 수 있습니다.