29.11.2019, 06:46
|
Интересующийся
|
|
Регистрация: 29.11.2019
Сообщений: 27
|
|
Перестал работать график 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
|
|
29.11.2019, 07:41
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,112
|
|
nvrabotaru,
код запуска как сейчас выглядит?
|
|
29.11.2019, 07:55
|
Интересующийся
|
|
Регистрация: 29.11.2019
Сообщений: 27
|
|
Вот код:
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, 29.11.2019 в 08:04.
|
|
29.11.2019, 08:14
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,112
|
|
nvrabotaru,
не могу помочь, может кто-то другой подскажет.
|
|
29.11.2019, 08:15
|
Интересующийся
|
|
Регистрация: 29.11.2019
Сообщений: 27
|
|
Сообщение от рони
|
nvrabotaru,
не могу помочь, может кто-то другой подскажет.
|
Жаль. Оооочень нужно!!!
|
|
29.11.2019, 08:33
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Что у вас с кодировкой?
Выбрать Ñохраненную работу
|
|
29.11.2019, 08:41
|
Интересующийся
|
|
Регистрация: 29.11.2019
Сообщений: 27
|
|
Сообщение от laimas
|
Что у вас с кодировкой?
Выбрать Ñохраненную работу
|
С кодировкой все нормально, это просто в этот файл криво выгрузилось.
Вот нормальный https://yadi.sk/d/sWz7BZvu2Cp2SQ
Последний раз редактировалось nvrabotaru, 29.11.2019 в 08:45.
|
|
29.11.2019, 09:11
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Не знаю каким образом некая точность может быть и может ли быть причиной проблем, не приходилось ни разу использовать данный инструмент, но ругается то на отсутствие определения 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 для символов % и _
И вообще, если аргументы функций подставляемые в запрос, это данные извне и не экранированы, то это прямой путь к инъекции запросов.
|
|
29.11.2019, 10:20
|
Интересующийся
|
|
Регистрация: 29.11.2019
Сообщений: 27
|
|
Сообщение от laimas
|
Не знаю каким образом некая точность может быть и может ли быть причиной проблем, не приходилось ни разу использовать данный инструмент, но ругается то на отсутствие определения 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 для символов % и _
И вообще, если аргументы функций подставляемые в запрос, это данные извне и не экранированы, то это прямой путь к инъекции запросов.
|
Это другая история. Сейчас мне нужно, чтобы выводился график.
|
|
29.11.2019, 10:24
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
В отладчике строку 310 страницы смотреть, с нее и начинать анализ, а в приложении первое обращение к этому свойству в строке 173.
|
|
|
|