테스트 사이트 - 개발 중인 베타 버전입니다

회원가입 분포도를 만들고 싶습니다. 채택완료

아길이 9년 전 조회 1,591

회원가입 분포도를 만들고 싶어서 다음과 같이 해봤습니다.

 

</strong> </p><p>$interval= 365 ;</p><p>$fr_date_time = G5_TIME_YMDHIS;</p><p> </p><p>//특정기간동안 회원들을을 쿼리 하고</p><p>$sql_member = " select mb_datetime from g5_member where (TO_DAYS('$fr_date_time') - TO_DAYS(mb_datetime)) < '$interval' order by mb_datetime desc ";</p><p>$result_member = sql_query($sql_member);</p><p> </p><p>//기간내에 가저온 날짜를 모두 배열에 담는다</p><p>$array_mb_date = array();</p><p>for ($i=0; $row_member=sql_fetch_array($result_member); $i++) {</p><p>  $array_mb_date[] = substr($row_member['mb_datetime'], 0, 10);</p><p>}</p><p> </p><p><span style="font-size: 14.6667px;">//동일한 배열값의 숫자를 카운트 해준다</span> </p><p>$mb_date_cnt = array_count_values($array_mb_date); </p><p>foreach($mb_date_cnt as $key => $cnt ){</p><p>  echo "<span> $key = <b>$cnt</b></span>";</p><p>}</p><p><strong style="color: rgb(127, 127, 127); font-family: 돋움, Dotum, sans-serif; font-size: 12px; letter-spacing: -0.01px; line-height: normal;">
 

 

이렇게 했습니다만 문제는

오늘부터 365일까지 회원가입이 없는 날은 가입업는날짜 = 0 으로 대입하여

날짜별 배열을 만들어야 하는데 막히네요

 

어떻게 해야 할까요?

감사 합니다

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
9년 전

 

 </p><p>$interval= 365 ; 
$array_mb_date = array(); 
$compDate = date("Y-m-d");</p><p>for($i=0; $i<$interval; $i++){
 $mcnt = sql_fetch("select count(*) as cnt from g5_member where mb_datetime like '".$compDate."%'");
 $array_mb_date[$compDate] = $mcnt[cnt]; 
 $compDate = date("Y-m-d", strtotime("$compDate -1 days"));
}</p><p>foreach ($array_mb_date as $key=>$value){ 
 echo $key." = ".$value."
";
} </p><p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

아길이
9년 전
간결하고 정확한 의도를 반영해 주셔서 대단히 감사 드립니다.
그런데 쿼리부하 이슈는 어떻게 생각 하시는지도 궁굼하긴 합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인