我需要将MySQL数据加载到DHTMLXGantt,我按照网站上的所有说明(链接:http://docs.dhtmlx.com/gantt/desktop__how_to_start.html),但它向我显示“无效数据”错误。我哪里出错了?
这是我的代码:
//myGantt.html
<!DOCTYPE html>
<html>
<head>
<title>How to Start with dhtmlxGantt</title>
<script src="codebase/dhtmlxgantt.js"></script>
<link href="codebase/dhtmlxgantt.css" rel="stylesheet">
<style type="text/css" media="screen">
html, body{
margin:0px;
padding:0px;
height:100%;
overflow:hidden;
}
</style>
</head>
<body>
<div id="gantt_here" style='width:1000px; height:400px;'></div>
<script type="text/javascript">
var tasks = {
data:[
{id:1, text:"Project #1",start_date:"01-04-2013", duration:11,
progress: 0.6, open: true},
{id:2, text:"Task #1", start_date:"03-04-2013", duration:5,
progress: 1, open: true, parent:1},
{id:3, text:"Task #2", start_date:"02-04-2013", duration:7,
progress: 0.5, open: true, parent:1},
{id:4, text:"Task #2.1", start_date:"03-04-2013", duration:2,
progress: 1, open: true, parent:3},
{id:5, text:"Task #2.2", start_date:"04-04-2013", duration:3,
progress: 0.8, open: true, parent:3},
{id:6, text:"Task #2.3", start_date:"05-04-2013", duration:4,
progress: 0.2, open: true, parent:3}
],
links:[
{id:1, source:1, target:2, type:"1"},
{id:2, source:1, target:3, type:"1"},
{id:3, source:3, target:4, type:"1"},
{id:4, source:4, target:5, type:"0"},
{id:5, source:5, target:6, type:"0"}
]
};
gantt.config.xml_date = "%Y-%m-%d %H:%i";
gantt.init("gantt_here");
gantt.load('data.php');//loads data to Gantt from the database
</script>
</body>
</html>`
这是我的data.php
<?php
include ('codebase/connector/gantt_connector.php');
$res=mysql_connect("localhost","root","");
mysql_select_db("dhtmlx");
$gantt = new JSONGanttConnector($res);
$gantt->render_links("gantt_links","id","source,target,type");
$gantt->render_table(
"gantt_tasks",
"id",
"start_date,duration,text,progress,sortorder,parent"
);
?>
这是我的表: gantt_links列:id,source,target,type gantt_tasks列:id,text,start_date,duration,text,progress,sortorder,parent
答案 0 :(得分:1)
当gantt.load收到空响应时会触发此类错误 - https://github.com/DHTMLX/gantt/blob/v3.1.1/codebase/sources/dhtmlxgantt.js#L4661
连接器代码似乎正确,但尝试在浏览器中打开data.php以检查它返回的内容。如果它仍然没有显示任何内容 - 请确保启用了php错误报告。 http://php.net/manual/en/function.error-reporting.php 可能会出现一些问题,例如错误的包含路径或数据库连接错误。
答案 1 :(得分:0)
该示例有效,因此您只需检查自己的一面。
php文件必须与您看到的完全一致。如果使用Dreamweaver,请确保文件中没有其他垃圾。它必须只包含示例。垃圾会使解析器混乱。
首先,您必须将数据输入数据库。 输入的数据最少。该列表位于您获得示例的页面上。我不会在这里剪切和粘贴,去那里看看。
在浏览器中打开data.php文件,您将看到查询中是否有数据。
如果您没有检索到数据,请检查您的连接配置和您的权限以阅读数据库。
我已经测试了这个例子,但它确实有用。