DHTMLX DataProcessor不保存对数据库的更改

时间:2014-11-15 21:48:48

标签: javascript php mysql dhtmlx

我有一个相当简单的DHTMLX页面,我正在努力。我设法从数据库加载数据并将其显示在DHTMLXGrid中。但是,当我更改网格中的数据时,数据不会保存到数据库中,因此在重新加载页面时会丢失。

有问题的数据库有三个表:用户,节目和观看。观看是唯一需要更新的(至少现在),我似乎无法让它发挥作用。

这是我的" connector.php"文件

<?php
require("codebase/connector/grid_connector.php");
require("codebase/connector/db_mysqli.php");
$servername     = "nope";
$username       = "nope";
$password       = "nope";
$databaseName   = "nope";
$conn = new mysqli($servername, $username, $password,$databaseName);
$query = "SELECT watching.user_ID, watching.show_ID,shows.name, watching.episodeswatched, shows.episodes, (shows.episodes - watching.episodeswatched) AS episodesremaining, watching.dropped, watching.waiting FROM watching INNER JOIN shows ON watching.show_ID = shows.ID INNER JOIN users ON watching.user_ID=users.ID";
$gridConnector = new GridConnector($conn, "MySQLi");
if($gridConnector->is_select_mode())
    $gridConnector->render_complex_sql($query,"ID","name,episodeswatched,episodes,episodesremaining,dropped,waiting","user_ID,show_ID");
else 
{
    $gridConnector->render_table("watching","ID", "episodeswatched,dropped,waiting","user_ID,show_ID");
}
?>

和Javascript的相关部分制作处理器和DHTMLXGrid

showsGrid.init();
showsGrid.load("connector.php");
var myDP = new dataProcessor("connector.php")
myDP.enableDataNames(true);
myDP.init(showsGrid);

我尝试使用相同的行来获取数据和更新(render_complex_sqlquery),但除了将有问题的行涂成红色之外什么也没做。至少用这种方法,行保持黑色。

我错过了什么吗?我做错了什么吗?我已经被困在这里太久了,我承认失败了。我查看了我能找到的每个示例和教程,搜索了文档,但没有找到帮助。

忘记了GitHub链接:https://github.com/lightspeed1001/dhtmlxdemo

2 个答案:

答案 0 :(得分:0)

您需要删除&#34; myDP.enableDataNames(true);&#34;线

此命令可与自定义后端一起使用,但在服务器端使用连接器时,必须使用默认数据发送模式。

答案 1 :(得分:0)

我更新了connector.js和其他一些东西,还有点与单元格的名称相混淆,现在它可以正常工作。

您可以在github页面上查看差异以获取详细信息。

另外,我需要启用数据名,因为我有多少值,并且在接收和发送数据时它们并不总是以相同的顺序。