我有一个页面需要从 MySQL 数据库中获取多个不同的数据集,然后使用该数据定义一些 jquery,以便使用该数据绘制图表(HighCharts 来描述 MySQL 数据)。
一些用户报告图表无法加载,这不是浏览器问题,也不是一致的。
我已经尝试了所有我能想到的方法来调试该问题,并得出结论:在某些情况下,在完成对数据库的调用之前正在加载页面,因此未加载图表。
因此,我决定放入一个缓冲页面:用户选择他们想要查看的数据,将其发布到一个带有短暂“加载”的页面(获取所有数据并将其存储在 $_SESSION 中),然后几秒钟后,它们被发送到绘制图形的页面,该页面现在不是基于数据库调用来绘制图形,而是基于 SESSION 中存储的数据来绘制图形。
这是一种明智的做法,还是对于更有经验的人来说这似乎很荒谬?
谢谢
PS:我的代码有几千行长,并且没有一个特定部分不起作用(它在 90% 的情况下都有效),所以我不确定如何在这个问题中有效地包含代码。
最佳答案
给你...
$('#container').highcharts({
data: {
table: document.getElementById('datatable')
}....//other chart details....
<table id="datatable">
<thead>
<tr>
<th></th>
<th>Jane</th>
<th>John</th>
</tr>
</thead>
<tbody>
<tr>
<th>Apples</th>
<td>3</td>
<td>4</td>
</tr>
<tr>
<th>Pears</th>
<td>2</td>
<td>0</td>
</tr>
<tr>
<th>Plums</th>
<td>5</td>
<td>11</td>
</tr>
<tr>
<th>Bananas</th>
<td>1</td>
<td>1</td>
</tr>
<tr>
<th>Oranges</th>
<td>2</td>
<td>4</td>
</tr>
</tbody>
您可以从 HTML 表格中获取数据,并在图表中使用它们... 希望这样做会比将其存储在 session 变量中更好..
关于php - 使用 MySQL 中的数据时,在某些情况下不会绘制 Highcharts(在数据库查询完成之前创建的页面元素?) PHP/MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16952847/