0

我正在使用 Gridstack 库来创建仪表板。小部件 x、y、宽度和高度可以放入 json 中,我正在尝试将此 json 保存到 MySQL 中。

当我在大学时,我通过按一个按钮工作,让 json 数组进入 MySQL 中的一个表。当我回家时,它停止工作。我正在使用 PHP 和 MySQL。

第一个问题是下面的行停止工作(我回家之前很好,没有接触代码)。

  $data = $_GET['name'];

不得不改成这样:

   $data = isset($_GET['name']);

不知道为什么。其余的 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?string=" + JSON.stringify(res);
});
<?php
$connect = mysqli_connect("localhost", "root", "", "widgetCollection");


 $data = isset($_GET['string']);
 //$data = $_POST['variable'];

  $array = json_decode($data, true);

  foreach((array)$array as $row) {
  $sql = "INSERT INTO grids(x, y, width, height) VALUES('".$row["x"]."', '".$row["y"]."', '".$row["width"]."', '".$row["height"]."');";

  mysqli_query($connect, $sql);
  }
  ?>
  alert(JSON.stringify(res));

  });
4

1 回答 1

0

Isset 允许您测试一个键在数组中是否存在,并将返回一个布尔值。

你不应该那样使用 isset。

你可以改写:

if (isset($_GET['name'])) {
    $data = $_GET['name'] ;
} 

这将测试数组 $_GET 中键 'name' 的存在,如果找到,将进入 'if' 条件并设置变量。

于 2017-03-11T16:48:04.750 回答