2 つのファイルがあります 1.Analytics.php 2.get_data_journ.php
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 個のジャーナルがリストされ、ユーザーは任意のジャーナルを選択できるため、ユーザーのクリックに応じて折れ線グラフが表示されます。ここではハイチャートを使用しています。これは非常にうまく機能しています。ユーザーがクリックすると、それに応じてグラフが変化します。しかし、問題は、ユーザーがジャーナルを 2 つ以上比較したい場合、olp ポイントの値が消えるのではなく、グラフに残る必要があることです。この onclick イベントはクリックに応じて機能し、ユーザーが別のジャーナルをクリックすると、最初のジャーナル グラフ ポイントが消えます。どうやってするか。助けてください。