회원가입 분포도를 만들고 싶습니다.
본문
회원가입 분포도를 만들고 싶어서 다음과 같이 해봤습니다.
$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
$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 />";
}
답변을 작성하시기 전에 로그인 해주세요.