PARK_TODO_APP : 데이터 시각화 : 타임라인 코드 개선

Kakao Share
//기존 코드 : 오늘 날짜 기준으로 값을 작성
    function getCurDateCalByInputParameters($minus_day = -7, $plus_day = 0){
        global $db;
        $result_array = array();
        $sql = "SELECT todo, MIN(target_date) as first_date, MAX(target_date) as last_date, "; 
	    $sql .= "DATEDIFF(MAX(target_date), MIN(target_date)) as DURATION, count(*) AS cnt ";
        $sql .= "FROM park_todo_db ";
        $sql .= "WHERE STR_TO_DATE(substring(target_date,1,8), '%y-%m-%d') BETWEEN ";
        $sql .= "DATE_ADD(CURDATE(), INTERVAL ";
        $sql .= $minus_day;
        $sql .= " DAY) AND DATE_ADD(CURDATE(), INTERVAL ";
        $sql .= $plus_day;
        $sql .= " DAY) ";
        $sql .= "GROUP BY TODO ORDER BY LAST_DATE DESC;";
	
        // last_modified only query and fetch
        $result = mysqli_query($db, $sql);
        confirm_result_set($result);
        while($row = mysqli_fetch_assoc($result)) {
            array_push($result_array, $row);
        }
        return $result_array;
    }
//선택된 날짜와 기간 범위를 지정해서 값을 넣으면 됨. 
//minus_day => selected_day
//plus_day => duration
    function getCurDateCalByInputParameters($selected_day = $today, $plus_day = 0){
        global $db;
        $result_array = array();
        $sql = "SELECT todo, MIN(target_date) as first_date, MAX(target_date) as last_date, "; 
	    $sql .= "DATEDIFF(MAX(target_date), MIN(target_date)) as DURATION, count(*) AS cnt ";
        $sql .= "FROM park_todo_db ";
        $sql .= "WHERE STR_TO_DATE(substring(target_date,1,8), '%y-%m-%d') BETWEEN ";
        $sql .= "STR_TO_DATE($selected_day, '%y-%m-%d')"
        $sql .= " AND DATE_ADD($selected_day, INTERVAL ";
        $sql .= $plus_day;
        $sql .= " DAY) ";
        $sql .= "GROUP BY TODO ORDER BY LAST_DATE DESC;";
	
        // last_modified only query and fetch
        $result = mysqli_query($db, $sql);
        confirm_result_set($result);
        while($row = mysqli_fetch_assoc($result)) {
            array_push($result_array, $row);
        }
        return $result_array;
    }
// 선택된 프론트 엔드 정보를 백엔드로 보내는 과정 코드
=> UI와 연계해서 ajax get 방식을 통해서 Url로 정보를 보낼 수 있음. 
=> 함수로 만들어 두고, 각각의 이벤트에서 drawChart()를 업데이트 해서 그릴 수 있음. 
	var urldate = <?php echo ('"'. $seldate. '"')?>;
	var seldate = getCalendarSelDate(urldate);
	var filter_val = document.getElementById("date_filter").value;
	var rdays = getNumDaysByFilterVal(filter_val);
	$.ajax({
		url: "<?php echo(WWW_ROOT) ?>" + '/chart/ajaxGetEventData.php?seldate=' + seldate + "&rdays=" + rdays ,
		type: "get",
		dataType: "json"
	}).done(function(data) {
	
    }

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

카카오톡 채널 친구추가
0
Would love your thoughts, please comment.x
()
x