我试图把它变成一个json数组并将json字符串解析成MySQL,因为这对我来说是最有意义的。另外,我已经设法使用:
将其转换为json字符串 JSON.stringify(res);
这是正确的方法吗?如何在MySQL中添加x,y,widht和height?我认为问题在于我无法在PHP脚本中读取Javascript变量。
$('#save').click(function(){
var res = _.map($('.grid-stack .grid-stack-item:visible'), function (el) {
el = $(el);
var node = el.data('_gridstack_node');
return {
id: el.attr('data-custom-id'),
x: node.x,
y: node.y,
width: node.width,
height: node.height
};
});
window.location.href = "index.php?name=" + JSON.stringify(res);
<?php
if (isset($_GET['name'])) {
$con = mysqli_connect("localhost", "root", "", "grids");
$jsondata = $_GET['name'] ;
$data = json_decode($jsondata, true);
$x = $data['x'];
$y = $data['y'];
$width = $data['width'];
$height = $data['height'];
foreach($data as $row){
$sql = "INSERT INTO new(x, y, width, height) VALUES('".$row[$x]."', '".$row[$y]."', '".$row[$width]."', '".$row[$height]."')";
mysqli_query($con, $sql);
}
}
?>
});
答案 0 :(得分:2)
你有错误的单引号doube引用sequnce并且不构建正确的字符串连接..
$sql = "INSERT INTO new(x, y, width, height) VALUES('" .$row[$x].
"', '" .$row[$y]."', '".$row[$width]. "', '".$row[$height]."')";
请注意以这种方式使用vars进行sqlinjection ...你应该使用正确的参数化sql prepare