Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > การบันทึกข้อมูลแบบ ajax ครับคือผมงงตรงที่ว่าทำไมค่าตัวปรมันไม่ลงฐานข้อมูลครับ



 

การบันทึกข้อมูลแบบ ajax ครับคือผมงงตรงที่ว่าทำไมค่าตัวปรมันไม่ลงฐานข้อมูลครับ

 



Topic : 063924



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5



การบันทึกข้อมูลแบบ ajax ครับคือผมงงตรงที่ว่าทำไมค่าตัวแปรมันไม่ลงฐานข้อมูลครับ
ผมมี ฟอร์มหนึ่งฟอร์มใช้กรอกข้อมูลเพื่อเก็บการ reply ของ webboard โดยผมใช้ ajax ช่วยในการส่งค่าและบันทึกปัญหาก็คือผมงงตรงการบันทึกครับคือข้อมูลมันลงเกือบทุกตัวยกเว้น $p จึงอยากรบกวนพี่ๆช่วยดู code หน่อยว่าผมผิดพลาดตรงไหน มันบันทึกค่าของตัวแปล $p
เป็น $pid ผมเลยงงครับ

Code (PHP)
<script language="JavaScript">
	   var HttPRequest = false;

	   function doCallAjax(Mode) {
		  HttPRequest = false;
		  if (window.XMLHttpRequest) { // Mozilla, Safari,...
			 HttPRequest = new XMLHttpRequest();
			 if (HttPRequest.overrideMimeType) {
				HttPRequest.overrideMimeType('text/html');
			 }
		  } else if (window.ActiveXObject) { // IE
			 try {
				HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
			 } catch (e) {
				try {
				   HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			 }
		  } 
		  
		  if (!HttPRequest) {
			 alert('Cannot create XMLHTTP instance');
			 return false;
		  }
	
		  var url = 'save_reply.php';
		  var pmeters = "&tdetail=" + encodeURI( document.getElementById("detail").value) +
						"&tuse=" + encodeURI( document.getElementById("use").value ) +
						"&temail=" + encodeURI( document.getElementById("email").value ) +
						"&tp=" + encodeURI( document.getElementById("p").value ) +
						"&tMode=" + Mode;

			HttPRequest.open('POST',url,true);

			HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			HttPRequest.setRequestHeader("Content-length", pmeters.length);
			HttPRequest.setRequestHeader("Connection", "close");
			HttPRequest.send(pmeters);
			
			
			HttPRequest.onreadystatechange = function()
			{

				 if(HttPRequest.readyState == 3)  // Loading Request
				  {
				   document.getElementById("mySpan").innerHTML = "Now is Loading...";
				  }

				 if(HttPRequest.readyState == 4) // Return Request
				  {
				   document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
				   document.getElementById("detail").value = '';
				   document.getElementById("use").value = '';
				   document.getElementById("email").value = '';
				   document.getElementById("p").value ='$pid';
				   
				  }
				
			}

	   }
	</script>



<form name="frmMain" id="frmMain">
<div class="bg2"><font class="white">RE.แสดงความคิดเห็น</font></div>
<div class="bg1">
<table  height="95"width="464">
  <tr>
  <td width="94" height="39" align="left"><font class="yellow"> - Comment ** </font></td>
  <td width="358" align="left"><textarea name="detail" cols="35" id="detail"></textarea></td>
  <tr>
    <td height="23" align="left"><font class="yellow">- Username ** </font></td>
    <td align="left"><input name="use" type="text" id="use" size="40" /></td>
  <tr>
    <td height="23" align="left"><font class="yellow">- Email address **</font></td>
    <td align="left"><input name="email" type="text" id="email" size="40" />
      <input name="btn" type="button" id="Submit" value="comment" onclick="javascript:doCallAjax('ADD');" />
      <span class="b1">
      <input name="p" type="hidden" id="p" value="<?=$pid?>" />
      </span> </td>
  </table>
</div>
<span id="mySpan"></span>
</form>



บันทึก
Code (PHP)
$strMode = $_POST["tMode"];
$pid=$_REQUEST['tp'];
$detail=$_POST['tdetail'];
$use=$_POST['tuse'];
$email=$_POST['temail'];
$date=date("Y-m-d H:i:s");


 
$sql1="update tb_post set p_post=p_post +1   where p_id='$pid' ";
$result1=mysql_query($sql1);

$sql2="update tb_post set p_status='a',user_post='Guest'  where p_id='$pid' ";
$result2=mysql_query($sql2);



////--------------------เก็บรหัสสินค้าเป็นรหัส------------------************

 if($strMode == "ADD"){


$sql = "SELECT r_id FROM tb_reply  ORDER BY  r_id DESC LIMIT 1";
$result = mysql_query($sql);
      if(mysql_num_rows($result) > 0)
      {
           $row = mysql_fetch_array($result);
           sscanf($row[0] ,"0%d" , $id); 
		   $id++;
 
 $sql = "INSERT INTO tb_reply VALUES(CONCAT('0',RIGHT(CONCAT('0000' , $id) , 4)),'$detail','$use','$email','$date','$pid')"; 		   
      }
      else
      {
	  
 
 $sql = "INSERT INTO tb_reply VALUES('00001','$detail','$use','$email','$date','$pid')";
      }

} 
 
 mysql_query($sql);




Tag : PHP









ประวัติการแก้ไข
2011-07-29 07:57:12
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-07-29 07:56:01 By : chonburi f.c View : 1111 Reply : 7
 

 

No. 1



โพสกระทู้ ( 1,751 )
บทความ ( 0 )



สถานะออฟไลน์


ลอง echo ค่าตัวแปรมาดูแล้วหรือยัง ว่ามีค่าส่งมาหรือป่าวครับ
document.getElementById("p").value ='';เขียนแบบนี้ครับ โดยปกติคุณ get id ขึ้นมาแล้วไม่ต้องใส่ตัวแปรข้างหลังครับเพราะจะมีค่าอยู่แล้ว






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-29 08:29:13 By : SOUL
 


 

No. 2



โพสกระทู้ ( 1,095 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


<input name="p" type="hidden" id="p" value="<?=$pid?>" /> ค่าตรง <?=$pid?> มาจากไหนเหรอครับ

ที่มันบันทึกค่าของตัวแปล $p เป็น $pid ผมเลยงงครับ ก็เพราะว่า

ตอนคุณส่งค่าไป เป็น &tp=" + encodeURI( document.getElementById("p").value )

และรับค่า $pid=$_REQUEST['tp'];

มั้ง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-29 09:06:48 By : ไวยวิทย์
 

 

No. 3



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ตอบความคิดเห็นที่ : 2 เขียนโดย : ไวยวิทย์ เมื่อวันที่ 2011-07-29 09:06:48
รายละเอียดของการตอบ ::
มาจากหน้าที่ส่งค่ามาค่าครับ แล้วผมก็รับค่าแบบ get ผมเลยมาเก็บให้อยู่ในรูปของ hidden แล้วก็จะส่งไปเก็บใน db อีกทีครับโดยผ่าน ajax นี่แหละแต่ผมไม่รู็ว่าจะส่งไปไงดีครับ

<?
include "connect.php";

$pid=$_GET['pid']; ***
$sqluser="select * from register ";
$sqluser=mysql_db_query($dbname,$sqluser);


$sql="update tb_post set p_read=p_read +1 where p_id='$pid' ";
$result=mysql_query($sql);


?>



ผมลองลบค่าใน db ทิ้งแล้วลองบันทึกใหม่ ค่าแรกมันจะเก็บน่ะครับแต่ต่อไปมันจะเป็นค่าว่าง


ประวัติการแก้ไข
2011-07-29 15:54:20
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-29 15:48:25 By : chonburi f.c
 


 

No. 4



โพสกระทู้ ( 913 )
บทความ ( 2 )



สถานะออฟไลน์
Facebook

<input name="p" type="hidden" id="p" value="<?=$pid?>" /> เอามาจากไหน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-29 17:28:36 By : teez1232002
 


 

No. 5



โพสกระทู้ ( 913 )
บทความ ( 2 )



สถานะออฟไลน์
Facebook

อีกอย่างคับ
document.getElementById("p").value ='$pid';

ค่าตัวแปล PHP ก็ไม่ใช่ นะครับ แบบนี้ค่าว่างแน่นอน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-29 17:32:05 By : teez1232002
 


 

No. 6



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ตอบความคิดเห็นที่ : 5 เขียนโดย : teez1232002 เมื่อวันที่ 2011-07-29 17:32:05
รายละเอียดของการตอบ ::
<?=$pid?> มาจากการส่งค่า ของอีกหน้าครับ ประมาณว่า $pid=$_GET['pid']; แล้วทำให้มันอยู่ในรูปแบบ hidden

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-29 18:11:02 By : chonburi f.c
 


 

No. 7



โพสกระทู้ ( 774 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook Hi5

ได้แล้วครับขอบคุณมากครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-29 20:36:09 By : chonburi f.c
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การบันทึกข้อมูลแบบ ajax ครับคือผมงงตรงที่ว่าทำไมค่าตัวปรมันไม่ลงฐานข้อมูลครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่