|
|
|
PHP กับ Kendo UI framework แต่ติดตรง insert new records ทำแล้ว records ซ้ำเรื่อยๆ |
|
|
|
|
|
|
|
ช่วยด้วยครับ ผมเขียนPHP โดยใช้ Kendo UI framework แต่ติดตรง insert new records ใช้ตาม Tutorials แล้ว
สร้างปุ่ม create ให้ส่งค่าไป phpที่เขียนมารับเพื่อinsert ผลคือ insert ได้ในครั้งแรกแต่เมื่อ insert อีกครั้ง มันจะเอาผลครั้งแรกลงไปซ้ำ ทำอีกครั้งมันจะเอา ครั้งแรกกับครั้งที่สองลงไปซ้ำ เพิ่มขึ้นตลอด เปิด Log ดู ก็มีการเข้าถึง phpinsert ตาม ที่ซ่้ำทั้งๆที่กดครั้งเดียว แต่เมื่อ reload page ทุกครั้งที่ insert ค่าก็จะได้ตามที่กด เขียนprojectไปได้เยอะแล้ว มีวิธีแก้ไหมครั้บช่วยแนะนำด้วยครั้บ
html
<!DOCTYPE html>
<html>
<head>
<title></title>
<link href="styles/kendo.common.css" rel="stylesheet" >
<link href="styles/kendo.default.css" rel="stylesheet" >
<script src="js/jquery.min.js"></script>
<script src="js/kendo.web.min.js"></script>
<script src="js/console.js"></script>
</head>
<body>
<div id="grid"></div>
<script>
$(document).ready(function () {
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url:"http://10.0.88.78/mnms/data/CopyOfdataSourceResult.php"
},
create: {
url: "http://10.0.88.78/mnms/data/dataSourceResult.php",
type: "PUT"
}
},
pageSize: 20,
schema: {
model: {
id: "node_id",
fields: {
node_id: { editable: false, nullable: true },
node: { validation: { required: true } },
}
}
}
});
$("#grid").kendoGrid({
dataSource: dataSource,
pageable: true,
height: 430,
toolbar: ["create", "save", "cancel"],
columns: [
"node",
{ command: "destroy", title: " ", width: "90" }
],
editable: true
});
});
</script>
</body>
</html>
phpinsert
$link = mysql_pconnect("10.0.88.78:3306", "root", "root") or die("Unable To Connect To Database Server");
mysql_select_db("mnms") or die("Unable To Connect To sakila");
header("Content-type: application/json");
$verb = $_SERVER["REQUEST_METHOD"];
if ($verb == "PUT") {
$request_vars = Array();
parse_str(file_get_contents('php://input'), $request_vars );
$node = $request_vars["node"];
$rs = mysql_query("INSERT INTO `mnms`.`node` (`node`) VALUES ('". $node ."')");
if ($rs) {
echo true;
}
else {
header("HTTP/1.1 500 Internal Server Error");
echo false;
}
}
Tag : PHP, MySQL, jQuery
|
|
|
|
|
|
Date :
2013-08-07 21:47:15 |
By :
ต้น |
View :
2234 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดัก event ก่อนครับ เพราะคุณรัน process ไว้ใน $('document').ready มันจะทำงานทุกๆครั้งที่เพจโหลดน่ะครับ
เช่น
$('button #submitBtn').click(function(){
var dataSource = new kendo.data.DataSource({
transport: { ..........................................
});
|
|
|
|
|
Date :
2013-08-08 09:01:43 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เปลี่ยนเป็น $(function () แล้วยังเป็นอาการเดิม
เหมือนค่า insert new records มันค้างอยู่ พอกด insert มันเลย เอาค่าทีี่ insert แล้วมาอีก
พยายามหาวิธี remove ค่าทุกครั้งหลัง insert ยังหาไม่เจอที่เก็บค่า
ผมว่าผมต้องใช้ Kendo UI framework ไม่ถูกแน่ๆ แต่ไม่รู้วิธี เพราะเค้าน่าจะออกแบบมาดีแล้ว
มีใครเคยใช้ Kendo UI framework ช่วยบอกวิธี insert จาก grid ลง database ที่ครับ
|
|
|
|
|
Date :
2013-08-08 15:30:37 |
By :
ต้น |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ล่าสุด ผมลองนึกดูว่าถ้าจะลบ insert new records เราจะอิงกับอะไร ผมเลยใส่ id ลงไปในตอน insert ปรากฏ records ไม่ซ้ำแล้ว
ตอนแรกไม่ได้ใส่ เพราะให้ bd เป็นคนสร้าง
เป็นเพราะผมไปกำหนด id: "node_id", ตรง dataSource พอไป insert แล้ว ค่า node_id ใน bd ไม่ตรงกันมันเลยไม่ remove records นั้น
ผมเข้าใจว่าแบบนี้ถูกป่าวไม่รู้ใครช่วยอธิบายที่ ติดมาตั้งแต่วันศุกรที่แล้ว
|
|
|
|
|
Date :
2013-08-08 16:09:58 |
By :
ต้น |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดัก event ครับ เช่น คลิกอะไรแล้วค่อยทำ หรือโหลดอะไรก่อนแล้วค่อยทำ
ถ้าดักได้แบบนี้ ก็ไม่น่าจะเบิ้ล อ่าน comment NO.1 อีกทีน่ะครับ
เพราะ $(function(){ }) มันก็ทำงานคล้ายๆกับ $('document').ready นั่นแหล่ะครับ
|
|
|
|
|
Date :
2013-08-08 17:27:07 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|