A-AA+then

[PHP+AJAX] ทำยังไงให้สามารถเพิ่มข้อมูลได้หลายๆข้อมูลใน 1 ตาราง

1,148
เหมือนกับว่าข้อมูลที่ส่งไป จะส่งค่าแถวแรกไปเท่านั้น ดังรูป  (ผมวางรูปไม่ได้ ขอทำเป็น Link ละกันครับ)

http://image.ohozaa.com/i/6da/9qnuqF.png

เวลากดเพิ่ม ข้อมูลจะส่งไปแต่แถวแรกครับ พอกดเพิ่มเพื่อนแถวที่สอง ก็เอาค่าของแถวแรกไป ทำให้เกิด error

จะทำยังไงให้สามารถกดเพิ่มเพื่อนแถวที่ 2 3 4... แล้วเพิ่มค่าได้ตามปกติ แล้วค่าที่เพิ่มนั้นถูกต้องด้วย

ช่วยแก้ไข code ให้ด้วยครับ

ส่วนด้านล่างนี้ code ครับ

AJAX (ที่ comment ในส่วนของการตรวจสอบความถูกต้องของข้อมูล เพราะถ้าเปิดระบบจะฟ้องว่า undefined)

ajaxfriend.js
function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();//Mozilla, Safari ...
} else if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");//IE
} else {
alert("Your browser doesn't support the XmlHttpRequest object.");
}
}

var receiveReq = getXmlHttpRequestObject();

function makeRequest(url, param) {
if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
receiveReq.open("POST", url, true);
receiveReq.onreadystatechange = updatePage;

receiveReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
receiveReq.setRequestHeader("Content-length", param.length);
receiveReq.setRequestHeader("Connection", "close");

receiveReq.send(param);
}
}

function updatePage(){
if(receiveReq.readyState == 4){
document.getElementById('result').innerHTML = receiveReq.responseText;
document.getElementById("txtfid").value = '';
document.getElementById("txtmid").value = '';
}
}

function check_data(mid, Mode) {

alert(mid);
alert(Mode);

var cancle=false;
/*
if (mid.length==0) {
alert('กรุณาใส่ชื่อแสดงบนเว็บ');
cancle=true;
}
*/

if (cancle==false) {
var url = 'save_friend.php';

var postStr = "&tFid="   encodeURI( document.getElementById("txtfid").value )  
"&tMid="   encodeURI( document.getElementById("txtmid").value )  
"&action="   Mode ;
makeRequest(url, postStr);
}
return false;
}

addfriend.php
<?php
session_start();
include "connect.php";

$user = $_SESSION[user];

$sql = "SELECT * FROM tb_member WHERE member_username = '".$user."'";
$result = @mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);

$mid = $row['member_id'];

?>



<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />

<title>Travel Thailand</title>

<!-- Our CSS stylesheet file -->
<link rel="stylesheet" href="css/styles.css" />

<!-- Including the Lobster font from Google's Font Directory -->
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Lobster" />

<!-- Enabling HTML5 support for Internet Explorer -->
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->


</head>

<script type="text/javascript" src="scripts/ajaxfriend.js"></script>

<body>

<div class="main">

<div class="content">
<form name="search" method="get">
<table width="599" border="1">
<tr>
<th>Search Friend
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>">
<input type="submit" value="Search">
</th>
</tr>
</table>


<?
if($_GET["txtKeyword"] != "")
{
$strSQL = "SELECT * FROM tb_member WHERE (member_email LIKE '%".$_GET["txtKeyword"]."%' or member_disname LIKE '%".$_GET["txtKeyword"]."%' )";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>


</form>

<form name="form1" id="form1">
<table width="600" border="1">

<tr>
<th width="91"> <div align="center">Name </div></th>
<th width="91"> <div align="center">Email </div></th>
<th width="91"> <div align="center">Add Friend </div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>


<tr>

<td><input name="txtdis" type="text" id="txtdis" size="40" value="<?=$objResult["member_disname"];?>" disabled="disabled"/></td>
<td><input name="txtemail" type="text" id="txtemail" size="40" value="<?=$objResult["member_email"];?>" disabled="disabled"/></td>
<input name="txtfid" type="hidden" id="txtfid" value="<?=$objResult["member_id"];?>"/>

<td><input name="txtmid" type="hidden" id="txtmid" value="<?=$mid;?>" /><input type="button" name="btnSubmit" id="btnSubmit" value="เพิ่มเพื่อน" OnClick="check_data(form1.txtmid.value, 'ADD')"><br><br><div id="result"></div></td>

</tr>

<?
}
?>

</table>
</form>
<?
mysql_close($objConnect);
}
?>

</div>

<div class="rightcontent">
<div id="rrecommend">
<img border="0" src="http://www.kpsc-coop.com/main/images/stories/travel/aonang1.jpg" alt="test" width="250" height="300">
</div>

<div id="rads">
<img border="0" src="http://www.tmnbet.com/img/friend.jpg" alt="test" width="250" height="300">
</div>
</div>
</div>
</div>

<footer>
Trevel Thailand Copyright 2013 Travelthailand.com All rights reserved. Mahanakorn University of Technology
<center>
<a href="http://www.w3.org/html/logo/"><img src="http://www.w3.org/html/logo/badge/html5-badge-h-css3-semantics.png" width="165" height="64" alt="HTML5 Powered with CSS3 / Styling, and Semantics" title="HTML5 Powered with CSS3 / Styling, and Semantics"></a>
</center>
</footer>
</body>
</html>

save_friend.php
<?php
session_start();
include "connect.php";

$strFid= $_POST['tFid'];
$strMid = $_POST['tMid'];

$strMode = $_POST["action"];

if ($strMode=="ADD") {

$sql = "INSERT INTO tb_friend VALUES ('$strMid', '$strFid')";
$result = @mysql_query($sql) or die(mysql_error());

if($result) {
echo "<font color = #009900> เพิ่มเพื่อนเรียบร้อยแล้ว </font><br><a href="javascript:window.close();">";
} else{
echo "<font color = #FF0000> ไม่สามารถเพิ่มเพื่อนได้ </font>";
}
}

mysql_close($objConnect);
?>

2 ความคิดเห็น

ผมคงให้ได้แค่แนวคิดนะครับ ส่วนโค้ดคงต้องไปแก้ไขเอาเอง

อย่างแรกเลย เท่าที่ดูจากโค้ด ข้อผิดพลาดร้ายแรงคือ inpit แต่ละตัวมี ID ที่ซ้ำกันทำให้มันเป็นปัญหานะครับ ส่วนวิธีทำ ดู ที่นี่เลยตรับ

http://www.goragod.com/knowledge/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%AA%E0%B9%88%E0%B8%87%E0%B8%84%E0%B9%88%E0%B8%B2%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2_ajax_%E0%B8%AB%E0%B8%A5%E0%B8%B2%E0%B8%A2%E0%B9%86%E0%B9%81%E0%B8%96%E0%B8%A7%E0%B9%83%E0%B8%99_1_%E0%B8%9F%E0%B8%AD%E0%B8%A3%E0%B9%8C%E0%B8%A1.html
1

ขอบคุณครับ
2
^