2013-09-26 53 views
0

我有兩個文件 1. Analytics.php 2. get_data_journ.php如何通過的onClick()函數保留highchart線圖 - PHP的MySQL

Analytics.php代碼

function show_journal(jour_id){ 
    $.post("journal_table/get_data_journ.php", {JOURNID: ""+jour_id+""}, function(data_jour){ 

     var options = { 
      chart: { 
       renderTo: 'container_journal', 
       plotBackgroundColor: null, 
       plotBorderWidth: null, 
       plotShadow: false   
      }, 

      xAxis: { 
       title: { 
        text: 'Year' 
       }, 
       categories: [] 
       }, 

       yAxis: { 
        title: { 
         text: 'Number of Citations' 
        }, 
        plotLines: [{ 
         value: 0, 
         width: 1, 
         color: '#808080' 
        }] 
       }, 

      series: [{ 
       type: 'line', 
       name: 'Citations', 
       data: [] 

      }] 


     } 


     $.getJSON("journal_table/get_data_journ.php", {JOURNID:jour_id}, function(data_jour) { 
      options.series[0].data = data_jour; 

      chart = new Highcharts.Chart(options); 
     }); 

}); 
} 


    echo '<a href="#" style="text-decoration: none; color: #000;" onClick="show_journal('.$jour_id.')">'.$jour_title.'</a>'; 

get_data_journ.php代碼

<?php 
    include '../connect.php'; 

    $get_journid = $_REQUEST['JOURNID']; 

    $result_journ = mysql_query("SELECT year, citations, jour_id FROM journ_graph WHERE jour_id = '$get_journid'"); 

    $rows_journ = array(); 
    while($r_journ = mysql_fetch_array($result_journ)) { 
$row_journ[0] = $r_journ[0]; 
$row_journ[1] = $r_journ[1]; 
array_push($rows_journ,$row_journ); 
} 

print json_encode($rows_journ, JSON_NUMERIC_CHECK); 

?> 

這樣的onclick函數與while循環一起工作,所以如果有10種期刊,將列出10種期刊,用戶可以選擇任何期刊,因此根據用戶點擊線形圖將會顯示出來。在這裏,我使用highcharts。這工作非常好。隨着用戶點擊,圖形將相應改變。但是現在的問題是,當用戶想要比較2或更多的期刊時,olp點值應該保留在圖中而不是消失。這個onclick事件按照點擊的方式工作,如果用戶點擊另一個日誌,那麼第一個日誌圖表就會消失。怎麼做。請幫忙。

回答

0

如果您已經創建了圖表,則可以使用addSeries來添加系列到圖表,而不是創建新圖表。