Перестал работать график 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, время: 06:40. |