2017-03-11 118 views
0

我正在使用Gridstack庫創建儀表板。小部件x,y,寬度和高度可以放入一個json中,我試圖將這個json保存到MySQL中。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)); 

    }); 

回答

0

Isset允許你測試一個數組的一個關鍵的存在,並會返回一個布爾值。

你不應該使用isset那樣的。

你可以代替寫:

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

這將測試在數組$ _GET關鍵「名」的存在,如有發現,將進入「如果」條件,並設置變量。

+0

我現在得到:注意:未定義的索引:在98行上的C:\ xampp \ htdocs \ widgets \ index.php中的名稱。第98行爲:$ array = json_decode($ data,true); –