GORAGOD.com

freelance, web developer, web designer, hosting, domain name

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

เหมือนกับว่าข้อมูลที่ส่งไป จะส่งค่าแถวแรกไปเท่านั้น ดังรูป  (ผมวางรูปไม่ได้ ขอทำเป็น 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);

?>
11 ก.ย. 2556 2 2,354

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



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



http://www.goragod.com/...%B9%8C%E0%B8%A1.html
#1

ขอบคุณครับ
#2
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^