我使用denwer(本地Web服务器)。我已将所有文件从denwer上传到Internet上的服务器。数据库也是相同的,所有文件也是如此。 一切顺利。日期和值正确显示。 此代码适用于本地Web服务器和Internet服务器。
$limit='LIMIT 10';
$query="SELECT `date`,`data_input_1` FROM `$board_input_name` ORDER BY `id` $limit";
我想从我的基地给Highstock最后10个值。 我改变了我的代码。
$limit='LIMIT 10';
$query="SELECT `date`,`data_input_1` FROM `$board_input_name` ORDER BY `id` DESC $limit";
此代码在本地Web服务器上运行良好,在Internet服务器中运行不正确。在Internet服务器中,Highstock在x ax上写了“无效日期”。在y ax值是正确的。 如果我删除DESC或将其替换为ASC,则在本地Web服务器和Internet服务器上都可以正常工作。
我直接调用了脚本,看看为Highstock提供了哪些json数据。数据是正确的。 这是可以理解的 - 脚本是相同的,也是基础。 DESC有什么问题?当json数据正确并且javascript是“客户语言”时,为什么Highstock在x ax上写了“无效日期”?
答案 0 :(得分:0)
在您的情况下,较大的ID似乎也意味着更大的日期,这很可能是您遇到问题的原因。 ID本身并不重要,但ID和日期之间的连接导致它在按升序排序时“意外”工作,并且在排序降序时肯定不起作用。
使用使用datetime
x轴的Highstock时,要求x轴按升序排序。这是因为Highstock不会为您进行排序(出于性能原因),并且未排序的绘图和连接点不起作用。如果Highstock发现错误,它通常会在您的控制台中生成"Highcharts error 15",其中声明:
Highcharts希望对数据进行排序
当您尝试创建数据未按升序X顺序排序的折线图或股票图表时,会发生这种情况。出于性能原因,Highcharts不对数据进行排序,而是要求实施者预先对数据进行排序。