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

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

 

Copy
$interval= 365 ;$fr_date_time = G5_TIME_YMDHIS; //특정기간동안 회원들을을 쿼리 하고$sql_member = " select mb_datetime from g5_member where (TO_DAYS('$fr_date_time') - TO_DAYS(mb_datetime)) < '$interval' order by mb_datetime desc ";$result_member = sql_query($sql_member); //기간내에 가저온 날짜를 모두 배열에 담는다$array_mb_date = array();for ($i=0; $row_member=sql_fetch_array($result_member); $i++) {  $array_mb_date[] = substr($row_member['mb_datetime'], 0, 10);} //동일한 배열값의 숫자를 카운트 해준다 $mb_date_cnt = array_count_values($array_mb_date); foreach($mb_date_cnt as $key => $cnt ){  echo "<span> $key = <b>$cnt</b></span>";}
 

 

이렇게 했습니다만 문제는

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

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

 

어떻게 해야 할까요?

감사 합니다


답변 1개

채택된 답변
+20 포인트

 

Copy
$interval= 365 ; $array_mb_date = array(); $compDate = date("Y-m-d");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"));}foreach ($array_mb_date as $key=>$value){  echo $key." = ".$value."<br />";}
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

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

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

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

로그인
🐛 버그신고