2014-01-27 2 views
1

나는 php에서 라인 차트를 만든다 나는 시작 날짜와 종료 날짜와 그 날짜에 따라 표시된 차트를 선택하는 사용자 정의 날짜를 추가하고 싶다. 어떻게해야 하는가? 여기 내 코드입니다 :융통성있는 차트를 표시하기 위해 맞춤 기간을 추가하는 방법은 무엇입니까?

<?php 
$title='Product Management'; 
include("merchantheader.php"); 
include("DBConn.php"); 
include("FusionCharts.php"); 
$link = connectToDB(); 
$strQuery="select Distinct DATE_FORMAT(transactions.transaction_date,'%c-%d-%Y') as transaction_date,sum(amount)as Amount from transactions group by DATE_FORMAT(transactions.transaction_date,'%c-%d-%Y')"; 
    $result = mysql_query($strQuery) or die(mysql_error()); 
    $strXML = "<chart caption='Reports of transactions' showValues='0' useRoundEdges='1' palette='3'>"; 
    while($ors = mysql_fetch_assoc($result)){ 
    //Generate <set label='..' value='..' /> 
    $strXML .= "<set label='" .$ors['transaction_date'] ."' value='" . $ors['Amount'] ."' />"; 
    } 
    //free the result set 
    //mysql_free_result($result); 
    //mysql_close($link); 
    //Finally, close <chart> element 
    $strXML .= "</chart>"; 

    //date_default_timezone_set($_SESSION['timezone']); 
?> 
<?php /*?><textarea ><?php print_r($strXML); ?></textarea><?php */?>  
    <!-- Include FusionCharts.js to provide client-side interactivity --> 
    <script type="text/javascript" src="<?=MURL?>/Charts/FusionCharts.js"></script> 
    <link href="<?=MURL?>/assets/ui/css/style.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript" src="<?=MURL?>/assets/ui/js/jquery.min.js"></script> 
<script type="text/javascript" src="<?=MURL?>/assets/ui/js/lib.js"> </script>  
    <link rel="Stylesheet" type="text/css" href="<?=MURL?>/css/jpicker-1.1.6.min.css" /> 
<link rel="Stylesheet" type="text/css" href="<?=MURL?>/css/jPicker.css" /> 
<script src="<?=MURL?>/js/jpicker-1.1.6.min.js" type="text/javascript"></script> 
    <div id="chartContainer"> 
<?php 
FC_SetRenderer('javascript'); 
echo renderChart('Charts/Line.swf', // Path to chart type 
       '',   // Empty string when using Data String Method 
       $strXML, // Variable that contains XML string 
       'Tracking', // Unique chart ID 
       '850', '400', // Width and height in pixels 
       false,  // Disable debug mode 
       true  // Enable 'Register with JavaScript' (Recommended) 
      ); 

> 내가 사진과 같이 사용자 정의 날짜 범위는 다음과 같다 만들고 싶어

:

enter image description here

답변

1

당신이 날짜를 표시하고자하는 경우 모든 데이터 포인트가 아니라 일부 데이터 포인트의 경우 XML 데이터의 차트 요소에서 'labelStep'속성을 'n'값으로 설정할 수 있습니다. 그러면 n 번째 레이블을 매번 표시하도록 선택할 수 있습니다.

그러나 화면 캡처에 따라 세 번째 레이블 인 "Nov"은 'n'의 배수가 아닌 일정한 간격으로 표시되지 않습니다. 따라서이 경우 프로그램 적으로 조건을 입력하고 요소의 "showLabel"특성을 "1"로 설정하고 차트 XML 문자열을 생성해야합니다.

관련 문제