|
|
|
ปัญหา INSERT ข้อมูลซ้ำกันหลายๆครั้ง ควรแก้ไขหรือกำหนดขอบเขตอย่างไรครับผม |
|
|
|
|
|
|
|
สวัสดีครับ
เนื่องจากพบปัญหาการคลิกปุ่ม Comment เพื่อเพิ่ม Comment แต่มีการ Insert มากกว่า 1 ครั้ง
ยังไงลองไปดู Code กันเลยครับ
profile-comment.php เป็นส่วน Form + Ajax ที่ส่งค่าที่จะ Insert ลง SQL ไปครับ
Code (PHP)
<?
session_start();
?>
<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="js/jquery.livequery.js"></script>
<script src="js/jquery.elastic.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.watermarkinput.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
//SubmitComment
$('#SubmitComment').click(function(){
var user = $("#user").val();
var mcode = $("#mcode").val();
var id = $("#id").val();
var count = $("#count").val();
var getpID = $(this).parent().attr('id').replace('commentBox-','');
var comment_text = $("#commentMark-"+getpID).val();
if(comment_text != "Write a comment...")
{
$.post("add_comment.php?comment_text="+comment_text+"&post_id="+getpID+"&id="+id+"&user="+user+"&mcode="+mcode+"&count="+count, {
}, function(response){
$('#CommentPosted'+getpID).append($(response).fadeIn('slow'));
$("#commentMark-"+getpID).val("Write a comment...");
});
}
});
});
// ]]>
</script>
<div class="commentBox" align="right" id="commentBox-<?php echo $Mcode;?>">
<input type="hidden" id="count" name="count" value="1" />
<input type="hidden" id="user" name="user" value="<? echo $_SESSION['MM_Name']; ?>" />
<input type="hidden" id="id" name="id" value="<? echo $_GET['id']; ?>" />
<input type="hidden" id="mcode" name="mcode" value="<?php echo $Mcode;?>" />
<textarea class="commentMark" id="commentMark-<?php echo $Mcode;?>" name="commentMark" cols="60"></textarea>
<br clear="all" />
<a id="SubmitComment" class="small button comment"> Comment</a>
</div>
<div id="CommentPosted<?php echo $Mcode;?>"></div>
add_comment.php เป็น File ที่รับค่าจาก Form โดยส่งแบบAjax มาเพื่อเพิ่มข้อมูล
Code (PHP)
<?
include('./config.php');
$searchSQL = mysql_query("SELECT * FROM tbl_account WHERE Name = '".$_REQUEST['user']."' LIMIT 1");
while($info = mysql_fetch_array($searchSQL))
{
$NameF = $info['Name'];
$NcodeF = $info['Ncode'];
}
$searchSQL2 = mysql_query("SELECT * FROM tbl_account WHERE Ncode = '".$_REQUEST['id']."' LIMIT 1");
while($info2 = mysql_fetch_array($searchSQL2))
{
$NameU = $info2['Name'];
$NcodeU = $info2['Ncode'];
}
$Msg = $_REQUEST['comment_text'];
$MMcode = $_REQUEST['mcode'];
$Date = date("Y-m-d H:i:s");
$strSQL = mysql_query("INSERT INTO tbl_comment (Name, Ncode, Friend, Fcode, Message, Mcode, Date)
VALUES ('".$NameU."','".$NcodeU."','".$NameF."','".$NcodeF."','".$Msg."','".$MMcode."','".$Date."')");
}
?>
ปัญหาหลักๆที่พบคือ เช่น มีการโพสต์ Comment มา 3 คน หรือ 3 Comment
แล้วเมื่อเราจะไปตอบ Comment นั้นๆ เมื่อคลิก ตอบ Comment ในส่วน Comment ที่ 1
แต่กลับมีการ INSERT ถึง 3 ครั้ง
หรือ ลองคลิกตอบ Comment ของ Comment ที่ 2 เมื่อกด ตอบ Comment ก็มีการเพิ่ม 3 ครั้ง
ไม่ทราบว่าจะแก้ไข หรือ กำหนดขอบเขตยังไงดีครับผม
ขอบคุณครับ
Tag : PHP, MySQL, HTML/CSS, JavaScript, Ajax, jQuery
|
|
|
|
|
|
Date :
2012-03-31 04:49:16 |
By :
blackedition |
View :
1623 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวอย่าง
AAAA โำพสต์ว่า : How r u ?
-----------------------------------
[ ]
Comment
BBBB โำพสต์ว่า : Hello World ?
-----------------------------------
[ ]
Comment
CCCC โำพสต์ว่า : What r u doing Now ?
-----------------------------------
[ ]
Comment
สมมุติ ผมจะตอบ Comment ของคุณ BBBB
เมื่อพิมพ์ข้อความเสร็จ กดปุ่ม Comment
แต่มีการ Insert ถึง 3 ครั้ง ควรแก้ไขอย่างไรดีครับ
ช่วยชี้ทางแก้ไข เพื่อเป็นแนวทางด้วยครับผม
ขอบคุณครับ
|
ประวัติการแก้ไข 2012-03-31 04:54:57 2012-03-31 04:55:27 2012-03-31 04:56:08
|
|
|
|
Date :
2012-03-31 04:53:39 |
By :
blackedition |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|