Перестал работать график highcharts
Добрый день.
График работал до тех пор, пока я не решил установить новую точность вывода данных через tooltip: {valueDecimals: 2}. Но не изучив вопрос, сделал то, что увидел первым в выдаче яндекса. написал tooltip: {valueDecimals: ,2}. После этого график перестал выводиться. И что я потом ни делал: возвращал старое значение, полностью скопировал из архива файл, который работал раньше. Ничего не помогло. Теперь в консоли выдает следующее:
Uncaught TypeError: Cannot read property 'legend' of undefined
at HTMLButtonElement.<anonymous> (lazy.php:310)
at HTMLButtonElement.dispatch (jquery-3.1.1.min.js:3)
at HTMLButtonElement.q.handle (jquery-3.1.1.min.js:3)
(anonymous) @ lazy.php:310
dispatch @ jquery-3.1.1.min.js:3
q.handle @ jquery-3.1.1.min.js:3
|
nvrabotaru,
код запуска как сейчас выглядит? |
Вот код:
https://yadi.sk/d/SkT5nRIBvQF3UA А это подключаемый файл config.php:
function gettoseries($f,$selectotypo){
$series="";
$result = mysql_query("select name,nav,yaxis from dataschema where 1=1 and flot = ".$f." order by rid");
$num_rows = mysql_num_rows($result);
for($i=0;$i < $num_rows;$i++) {
$row=mysql_fetch_array($result);
$addon = '';
if($row['yaxis'] <> 0) { $addon = ', yAxis: '.$row['yaxis']; }
if($selectotypo=='lazy'){
$series .= '{name: \''.$row['name'].'\', data: data['.$i.'], showInNavigator: '.$row['nav'].', tooltip: {valueDecimals: 2}'.$addon.'},'."\n";
}
if($selectotypo=='live'){
$series .= '{name: \''.$row['name'].'\', data: requestDataZ('.$i.')'.$addon.'},'."\n";
}
}
return $series;
}
function gettoyaxisparams($f){
$yaxisparams="";
$result = mysql_query("select name,nav,yaxis from dataschema where 1=1 and flot = ".$f." order by yaxis,rid");
$num_rows = mysql_num_rows($result);
$yaxis_cur = -1;
for($i=0;$i < $num_rows;$i++) {
$row=mysql_fetch_array($result);
if($yaxis_cur == $row['yaxis']){
$yaxisparams .= '<tr><td>'.$row['name'].'</td><td> </td><td></td><td></td><td></td></tr>';
} else {
$yaxis_cur++;
$yaxisparams .= '<tr><td>'.$row['name'].'</td><td> </td><td>min</td><td><input type="text" value="0" id="val'.$yaxis_cur.'min"/></td><td>max</td><td><input type="text" value="1000" id="val'.$yaxis_cur.'max"/></td></tr>';
}
}
return $yaxisparams;
}
function gettoselectolisto($u,$f){
$selectlist="";
//$result = mysql_query("select distinct flot from dataschema order by id");
$result = mysql_query("select distinct d.flot from dataschema d where not exists (select 1 from acl a where a.username like '%".$u."%') union all select distinct d.flot from dataschema d inner join acl a on a.flotnum = d.flot and a.username like '%".$u."%' where exists (select 1 from acl aa where aa.username like '%".$u."%')");
$num_rows = mysql_num_rows($result);
for($i=0;$i < $num_rows;$i++) {
$row=mysql_fetch_array($result);
$selected = '';
if($f == $row["flot"]) $selected='selected';
$selectlist .= '<option '.$selected.' value="'.$row["flot"].'">'.$row["flot"].'</option>';
}
return $selectlist;
}
|
nvrabotaru,
не могу помочь, может кто-то другой подскажет. |
Цитата:
|
Что у вас с кодировкой?
Выбрать Ñохраненную работу |
Цитата:
Вот нормальный https://yadi.sk/d/sWz7BZvu2Cp2SQ |
Не знаю каким образом некая точность может быть и может ли быть причиной проблем, не приходилось ни разу использовать данный инструмент, но ругается то на отсутствие определения legend. С JS нужно разбираться, а что касается РНР, то:
mysql - это пора забыть, либо mysqli, либо PDO. В последних версиях расширение mysql вообще вырезано. $num_rows = mysql_num_rows($result); а затем for($i=0;$i < $num_rows;$i++) { это лишнее, достаточно и while ($row = mysql_fetch_assoc($result)) { ... } А mysql_fetch_array($result), это запрашивать лишнее и не нужное вкупе с нужным. Если уж использовать эту функцию, то указывать какой набор нужен. like '%".$u."%') - неизвестно, что ищется, но данные для этой функции необходимо экранировать функцией addCslashes для символов % и _ И вообще, если аргументы функций подставляемые в запрос, это данные извне и не экранированы, то это прямой путь к инъекции запросов. |
Цитата:
|
В отладчике строку 310 страницы смотреть, с нее и начинать анализ, а в приложении первое обращение к этому свойству в строке 173.
|
| Часовой пояс GMT +3, время: 09:20. |