DHTMLXGantt无效数据

时间:2015-02-15 07:19:30

标签: php html mysql dhtmlx

我需要将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

2 个答案:

答案 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文件,您将看到查询中是否有数据。

如果您没有检索到数据,请检查您的连接配置和您的权限以阅读数据库。

我已经测试了这个例子,但它确实有用。