使用php在SlickGrid中保存更改
我设置了一个SlickGrid,它使用PHP从我的数据库中读取数据,当我试图将数据保存回数据库时,我的问题出现了,我试图使用JSON给我一个数组,然后我可以使用该数组写回数据库,我看到这个线程解释了这一点:使用php在SlickGrid中保存更改,php,jquery,mysql,grid,slickgrid,Php,Jquery,Mysql,Grid,Slickgrid,我设置了一个SlickGrid,它使用PHP从我的数据库中读取数据,当我试图将数据保存回数据库时,我的问题出现了,我试图使用JSON给我一个数组,然后我可以使用该数组写回数据库,我看到这个线程解释了这一点: 因此,我在代码中有隐藏的表单元素,使用JSON对数据变量进行编码,将其分配给表单上的数据隐藏输入,该表单发布到名为save_price.php的页面,问题是当我打印或var_转储数据变量时,我的输出为null,我认为这可能与我如何使用PHP将内容添加到数据变量有关,或者我做了一些明显错误的
因此,我在代码中有隐藏的表单元素,使用JSON对数据变量进行编码,将其分配给表单上的数据隐藏输入,该表单发布到名为save_price.php的页面,问题是当我打印或var_转储数据变量时,我的输出为null,我认为这可能与我如何使用PHP将内容添加到数据变量有关,或者我做了一些明显错误的事情,希望您能看到问题所在,没有太多关于使用PHP检索/保存到数据库的在线文档,所以在这一次,我的头撞到了墙上,这是我的代码:好吧,我发现了问题,只是万一有人在努力让这一切正常工作,这是工作代码,它从数据库获取数据,然后将更改的数据发送到另一个页面进行处理,这需要一些改进,一旦我实现了这一切,就会发生这种情况:
<?php
include("includes/check_session.php");
require_once('includes/functions.php');
require_once('includes/config.php');
$data = '';
$i = 0;
$query = "
SELECT * FROM `prices`";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
$data .= '
data['.$i.'] = {
id: "'.$row['id'].'",
title: "'.$row['title'].'",
duration: "'.$row['duration'].'",
percentComplete: "'.$row['percentComplete'].'",
start: "'.$row['start'].'",
finish: "'.$row['finish'].'",
effortDriven: "'.$row['effortDriven'].'"
};
';
$i++;
echo $data;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset=utf-8>
<?php // include("includes/cms_head_scripts.php"); ?>
<link rel="stylesheet" href="css/slick.grid.css" type="text/css" media="screen" charset="utf-8" />
<link rel="stylesheet" href="css/smoothness/jquery-ui-1.8.5.custom.css" type="text/css" media="screen" charset="utf-8" />
<link rel="stylesheet" href="css/examples.css" type="text/css" media="screen" charset="utf-8" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script language="javascript" src="js/jquery.json.js"></script>
</head>
<body>
<div id="content_cont">
<div id="main">
<div style="position:relative">
<div style="width:600px;">
<div id="myGrid" style="width:100%;height:500px;"></div>
</div>
</div>
pricing
</div><!-- #main -->
</div><!-- #content_cont -->
<script src="lib/firebugx.js"></script>
<script src="lib/jquery-ui-1.8.5.custom.min.js"></script>
<script src="lib/jquery.event.drag-2.0.min.js"></script>
<script src="slick.core.js"></script>
<script src="plugins/slick.cellrangeselector.js"></script>
<script src="plugins/slick.cellselectionmodel.js"></script>
<script src="slick.editors.js"></script>
<script src="slick.grid.js"></script>
<script type="text/javascript">
var grid;
var data = [];
var columns = [
{id:"title", name:"Title", field:"title", editor:TextCellEditor},
{id:"duration", name:"Duration", field:"duration", editor:TextCellEditor},
{id:"%", name:"% Complete", field:"percentComplete", editor:TextCellEditor},
{id:"start", name:"Start", field:"start", editor:TextCellEditor},
{id:"finish", name:"Finish", field:"finish", editor:TextCellEditor},
{id:"effort-driven", name:"Effort Driven", field:"effortDriven", editor:TextCellEditor}
];
var options = {
editable: true,
enableCellNavigation: true,
asyncEditorLoading: false,
autoEdit: true
};
$(function() {
<?php echo $data ?>
grid = new Slick.Grid($("#myGrid"), data, columns, options);
})
</script>
<form method="POST" action="save_price.php">
<input type="submit" value="Save">
<input type="hidden" name="data" value="">
</form>
<script type="text/javascript">
$(function() {
$("form").submit(
function() {
$("input[name='data']").val($.JSON.encode(data));
}
);
});
</script>
</body>
</html>
定价
var网格;
var数据=[];
变量列=[
{id:“title”,name:“title”,field:“title”,editor:TextCellEditor},
{id:“duration”,name:“duration”,field:“duration”,editor:TextCellEditor},
{id:“%”,名称:“%Complete”,字段:“percentComplete”,编辑器:TextCellEditor},
{id:“开始”,name:“开始”,field:“开始”,editor:TextCellEditor},
{id:“finish”,name:“finish”,field:“finish”,editor:TextCellEditor},
{id:“努力驱动”,名称:“努力驱动”,字段:“努力驱动”,编辑器:TextCellEditor}
];
变量选项={
是的,
enableCellNavigation:true,
asyncEditorLoading:false,
自动编辑:真
};
$(函数(){
grid=new Slick.grid($(“#myGrid”)、数据、列、选项;
})
$(函数(){
$(“表格”)。提交(
函数(){
$(“输入[name='data']”)val($.JSON.encode(数据));
}
);
});
添加额外信息时,编辑问题是个好主意。如果您找到了问题的答案,您应该将其作为答案添加,只要它是一个解决方案,也就是说。@tommy我也有相同的观点,但我不确定如何处理表单中的数据以更新服务器。您介意发布您的save_price.php代码吗?谢谢