2013-09-05 3 views
0

Я использую сетку пользовательского интерфейса kendo и подключаюсь к Mysql, . Обновление функции и чтение в порядке, но когда я использую create и вводят некоторые данные в новую строку, я нажимаю обновление, но он не прилагает никаких усилий. Я не знаю, что случилось? Моя сетка:kendo grid click new update button no effort

$("#grid").kendoGrid({ 
     dataSource: { 
      transport: { 
       read: "data/channels.php", 
       update: { 
        url: "data/channels.php", 
        type: "POST" 
       }, 
       create: { 
        dataType: "json", 
        url: "data/channeladd.php", 
        type: "POST" 
       } 
      }, 
      schema: { 
       data: "results", 
       model: { 
        id: "channelId", 
        fields: { 
         channelName: { validation: { required: true} } 
        } 
       } 
      } 
     }, 
     columns: [{ field: "channelName", title: "Channel Name" }, { field: "channelIp", title: "Channel Ip" }, { field: "channelPort", title: "Channel Port" }, { command: ["edit", "destroy"], title: " ", width: "172px" }], 
     editable: "inline", 
     navigable: true, // enables keyboard navigation in the grid 
     toolbar: [ "create" ] // adds save and cancel buttons 
    }); 

И в channeladd.php:

$link = mysql_pconnect("localhost", "root", "THE PASSWORD") or die("Unable To Connect To Database Server"); 
mysql_select_db("THE DB") or die("Unable To Connect To THE DB"); 

// add the header line to specify that the content type is JSON 
header("Content-type: application/json"); 

    $request = json_decode(file_get_contents('php://input')); 

    // DISCLAIMER: It is better to use PHP prepared statements to communicate with the database. 
    //    this provides better protection against SQL injection. 
    //    [http://php.net/manual/en/pdo.prepared-statements.php][4] 

    // get the parameters from the get. escape them to protect against sql injection. 

    $channelnName = $request["channelName"]; 
    $channelnIp = $request["channelIp"]; 
    $channelnPort = $request["channelPort"]; 

    $sql = "INSERT INTO channel (channelName, channelIp, channelPort) VALUES (".$channelnName.",".$channelnIp.",".$channelnPort.")"; 

    $rs = mysql_query($sql); 

    if ($rs) { 
     echo true; 
    } 
    else { 
     header("HTTP/1.1 500 Internal Server Error"); 
     echo false; 
    } 

enter image description here

Любые советы оценили.

+0

Я нажимаю обновление, но у него нет усилий. Что вы подразумеваете под этим. «Вы проверили консоль на наличие ошибок?» –

+0

В качестве изображения я нажимаю кнопку «Обновить» в правой части, но нет никаких усилий ни в обновлении пользовательского интерфейса, ни в изменении данных таблицы базы данных (вставьте команду sql). – Shuinvy

+0

Я использую google crome, чтобы проверить его, и консоль не имеет никаких ошибок. – Shuinvy

ответ

0

К сожалению об этом, я не знаю причину, но в то время как я удалить строку:

header("Content-type: application/json"); 

становится OK любая операция. Спасибо за внимание, Deepu :)