#jquery #highcharts
#jquery #старшие диаграммы
Вопрос:
Я использую Highcharts для своей статистики, я сделал дополнительную кнопку для выбора года. Это работает нормально, но когда я нажимаю кнопку, она обновляет страницу, а это не то, что я хочу.
Моя серия Highcharts выглядит так:
series: [{
name: 'Sales <? echo $year; ?>',
lineWidth: 4,
lineColor: '#058DC7',
color: '#058DC7',
marker : {
enabled : true,
fillColor: '#058DC7',
radius : 5,
lineWidth : 2,
states: {
hover: {
radius: 6,
lineWidth : 2
}
}
},
states: {
hover: {
lineWidth: 5
}
},
data: [<?
//SELECT FROM DATABASE
$query = "SELECT SUM(amount) AS amount_total
FROM invoices
WHERE user_id = {$_COOKIE['customer_id']}
AND date BETWEEN '{$year}-01-01' AND '{$year}-12-30'
GROUP BY MONTH(date)";
$sql = mysql_query("$query");
while ($fill = mysql_fetch_array($sql))
{
$amount = $fill['amount'];
echo $amount.',';
}
?>]
}
Кнопка:
<div class="stats_options" id="yearSelector" style="margin-bottom:10px; width:150px;">Select Year: <span style="color:#058DC7; font-weight:bold;">2008</span></div>
<div id="yearSelectorOptions" class="option_list" style="width:170px; display:none;">
<ul>
<li><a href="?configamp;year=2009amp;history=">2009</a></li><li><a href="?configamp;year=2008amp;history=">2008</a></li><li><a href="?configamp;year=2007amp;history=">2007</a></li><li><a href="?configamp;year=2006amp;history=">2006</a></li><li><a href="?configamp;year=2005amp;history=">2005</a></li><li><a href="?configamp;year=2004amp;history=">2004</a></li><li><a href="?configamp;year=2003amp;history=">2003</a></li><li><a href="?configamp;year=2002amp;history=">2002</a></li><li><a href="?configamp;year=2001amp;history=">2001</a></li><li><a href="?configamp;year=2000amp;history=">2000</a></li><li><a href="?configamp;year=1999amp;history=">1999</a></li><li><a href="?configamp;year=1998amp;history=">1998</a></li>
</ul>
</div>
Итак, я хочу изменить год без обновления страницы.
Я надеюсь, что кто-нибудь может помочь мне в правильном направлении!
Комментарии:
1. Если вы не хотите, чтобы страница обновлялась, вам нужно выполнить Ajax-запрос одним нажатием кнопки и обновить диаграмму данными в ответе.
Ответ №1:
Как отметил Бхеш, для выполнения обновления вам понадобится Ajax. Я создал нечто подобное здесь: http://danaben.net/t/baseball/scatter.php
Проверьте скрипт вверху, который задает некоторые параметры диаграммы, получает выбранный год, а затем вызывает php-скрипт. Php возвращает объект json, который я использую для замены значения options.series. Вам придется адаптировать это к вашему графику, но это должно быть в правильном направлении.
Комментарии:
1. Спасибо! Это направит меня в правильном направлении, у вас есть пример вашего php-файла? Извините за вопрос…