我使用kendo UI网格并连接到Mysql,功能更新和读取是可以的,但是当我使用create,并在新行中输入一些数据时,我点击更新但它没有任何努力。我不知道怎么了?我的网格是:
$("#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;
}
任何建议表示赞赏。