2017-11-08 2 views
0

에 컨트롤러에서 뷰에 고유 데이터를 얻을하는 방법 이것은 받았다 데이터 ID가에서 반환 테스트입니다 사업부에 보여 주었다됩니다 기능을 완료 내 아약스 요청 코드는 아약스 호출

function ajaxRequest() { 
     var currentIndexDay = $('#fieldValue').text(); 
     var currentIndexMonth = $('#monthFieldValue').text(); 
     var companyG = $("#companyGname").val(); 
     var timeline = $("#timeL").val(); 
     var month = $("#monthSelect").val(); 
     var year = $("#yearSelect").val(); 
     var dateRange = $("#dateR").val(); 

     $.ajax({ 
      method: "POST", 
      url: "<?php echo base_url(); ?>index.php/admin/home/pie_chart", 
      data: { day: currentIndexDay, week: currentIndexMonth, companyGroup: companyG, timeline: timeline, month: month, year: year, daterange: dateRange} 
     }).done(function(msg) { 
      $("#test").html(msg); 
     }); 
} 

입니다 컨트롤러 여기

내가 사업부에서뿐만 아니라 다른 곳에서 사용할 수있는 출력을 잡을 수있는 방법을 내 컨트롤러 그래서

public function pie_chart() {  

    $data = $this->Statisticsmodel->pie_data_all_day($day); 
    $ap = array(); 

    if(!empty($data)) { 

     foreach($data as $d=>$value){ 

      if($value->moodstatus == 1){ 
       $ap['Ok'] = $value->total; 
      }elseif($value->moodstatus == 2) { 
       $ap['Bad'] =$value->total; 
      }elseif($value->moodstatus == 0) { 
       $ap['Good'] =$value->total; 
      } 

     } 

    } 
    echo json_encode($ap); 
} 

입니다

function ajaxRequest(getData) { 

    var currentIndexDay = $('#fieldValue').text(); 
    var currentIndexMonth = $('#monthFieldValue').text(); 
    var companyG = $("#companyGname").val(); 
    var timeline = $("#timeL").val(); 
    var month = $("#monthSelect").val(); 
    var year = $("#yearSelect").val(); 
    var dateRange = $("#dateR").val(); 

    $.ajax({ 
      method: "POST", 
      url: "<?php echo base_url(); ?>index.php/admin/home/pie_chart", 
      data: { day: currentIndexDay, week: currentIndexMonth, companyGroup: companyG, timeline: timeline, month: month, year: year, daterange: dateRange}, 
      success:function(data) { 
      getData(data); 
     } 
    }); 
} 

ajaxRequest(function(output){ 
    $("#test").html(output); 
}); 

당신은에 컨트롤러 기능을 변경해야

ajaxRequest(function(output){ 
    $('#piechart').piechart({ 
     data : output 
    }); 
}); 
+0

출력을 사용 하시겠습니까? –

+0

보기입니다. 나는 데이터를 원형 차트에 추가해야한다. –

답변

0
는 AJAX 기능을 변경

이 :

public function pie_chart() {  
    $day= $this->input->post('day') // fetch the post data 
    $data = $this->Statisticsmodel->pie_data_all_day($day); 
    $ap = array(); 

    if(!empty($data)) { 

     foreach($data as $d=>$value){ 

      if($value->moodstatus == 1){ 
       $ap['Ok'] = $value->total; 
      }elseif($value->moodstatus == 2) { 
       $ap['Bad'] =$value->total; 
      }elseif($value->moodstatus == 0) { 
       $ap['Good'] =$value->total; 
      } 

     } 

    } 
    echo json_encode($ap); 
} 

하루가 가져 오지 않았으므로 $data이 비어 있으며 빈 응답이 표시됩니다. 희망이 도움이됩니다.

2

로 차트를 사용하여 원하는대로 DIV에 사용처럼