ให้เรตสมาชิก: 2 / 5

ดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

มาเรียน AJAX กับ PHP


AJAX กับ PHP
ก่อนที่จะใช้งานและทดลองเขียน AJAX ได้นั้น เราต้องมี 2เทคโนโลยี คือ

  • browser ที่สนับสนุน XMLHTTP หรือ  XMLHttpRequest objects
  • HTTP Server ที่ตอบสนอง  XML ซึ่งทั้ง 2 ตัวนี้ โดยทั่วไปก็ ใช้ได้ อยู่ แล้ว เช่น i.e หรือ firefox ก็สนับสนุน XMLHTTP หรือ  XMLHttpRequest อยู่แล้ว และ server โดยทั่วไปก็ไม่มี ปัญหา เรื่อง XML อยู่แล้ว ดังการจะเขียนหรือ ใช้งาน AJAX เราไม่ต้องติดตั้งอะไรเพิ่มเติมเลย
หัวใจหลัก ๆ เลย ของ AJAX คือ html  javascript และ xml และควรมีความรู้ พวกภาษาที่ทำงาน บน server เช่น  php,jsp,asp อย่างใดอย่างหนึ่งด้วย เพื่อเพิ่มประสิทธิภาพ และ ความสามารถของ AJAX ยิ่งขึ้น
ลองดู รูปประกอบ จะเข้าใจการทำงานดียิ่งขึ้น
AJAX กับ PHP รูปการทำงาน

การประกาศใช้ XML HTTP Request ใน javascript
ดังนี้

if (window.XMLHttpRequest) {
   req = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
   req = new
ActiveXObject("Microsoft.XMLHTTP");
} 

   โค้ด ข้างบนนี้เป็นการ เช็ตว่า browser สนับสนุน xmlHttpRequest หรือ XMLHTTP หรือไม่ 
แล้ว สร้าง Object reg ขึ้นมา ใช้
เมื่อมีวัถตุ reg แล้ว เราก็สามารถ ติดต่อกับ server ได้ โดย ใช้ open method ( function open ของ วัตถุ reg )
ตัวอย่างเช่น 
req.open("GET", url, true);
หรือเราจะใช้
req.open("POST", url, true);
ก็ได้ขึ้นอยู่ กับข้อมูลที่เราต้องการส่งไปยัง server
url ก็คือ ตำแหน่งไฟล์ ที่จะรับค่า ไปทำงานต่อ

สอบถามและคุยกันได้ที่บอร์ดครับ เพราะข้อมูล Ajax php มีความเคลื่อนไหวเร็วมาก http://www.mindphp.com/forums/index.php
ตัวอย่าง Ajax + php + Database (Mysql)

<html>
<head>
<script type="text/javascript">
var xmlhttp;
function showUser(str)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="getmindphpuser.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
 {
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{ // code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
</script>
</head>
<body>
<form>
Select a User:
<select name="users" onchange="showUser(this.value)">
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Glenn Quagmire</option>
<option value="4">Joseph Swanson</option>
</select>
</form>
<br />

<div id="txtHint"><b>Person info will be listed here.</b></div>

</body>
</html>

getmindphpuser.php

<?php

$q=$_GET["q"];



$con = mysql_connect('localhost', 'user', 'passsword');

if (!$con)

  {

  die('Could not connect: ' . mysql_error());

  }



mysql_select_db("ajax_mindphp", $con);



$sql="SELECT * FROM user WHERE id = '".$q."'";



$result = mysql_query($sql);



echo "<table border='1'>

<tr>

<th>Firstname</th>

<th>Lastname</th>

<th>Age</th>

<th>Hometown</th>

<th>Job</th>

</tr>";



while($row = mysql_fetch_array($result))

  {

  echo "<tr>";

  echo "<td>" . $row['FirstName'] . "</td>";

  echo "<td>" . $row['LastName'] . "</td>";

  echo "<td>" . $row['Age'] . "</td>";

  echo "<td>" . $row['Hometown'] . "</td>";

  echo "<td>" . $row['Job'] . "</td>";

  echo "</tr>";

  }

echo "</table>";



mysql_close($con);

?>

Free Ajax Script


เนื้อหาอยู่ในระหว่างการจัดทำ
แนะนำ Free Host PHP Mysql 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
งานประจำวันที่ 15 กรกฏาคม 2561 (วันอาทิตย์)
โดย pprn อ 15 ก.ค. 2018 7:45 pm บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
0
6
อ 15 ก.ค. 2018 7:45 pm โดย pprn
Re: งานประจำวันที่ 15 กรกฎาคม 2561
โดย prakon อ 15 ก.ค. 2018 2:49 pm บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
11
อ 15 ก.ค. 2018 2:50 pm โดย prakon
B - ติดตั้งภาษาไทยใน Joomla 4.x ไม่ได้
โดย Parichat ส 14 ก.ค. 2018 6:50 pm บอร์ด Joomla Dev
0
1
ส 14 ก.ค. 2018 6:50 pm โดย Parichat
แสงสีน้ำเงิน (Blue light) มีอันตราย ส่งผลกระทบต่อดวงตา
โดย taemmynatchapon ส 14 ก.ค. 2018 6:48 pm บอร์ด Share Knowledge
0
14
ส 14 ก.ค. 2018 6:48 pm โดย taemmynatchapon
UPS (Uninterruptible Power Supply) คืออะไร
โดย taemmynatchapon ส 14 ก.ค. 2018 6:05 pm บอร์ด Share Knowledge
0
15
ส 14 ก.ค. 2018 6:05 pm โดย taemmynatchapon
ปุ่ม MU บนเครื่องคิดเลขมีไว้ทำอะไร?
โดย taemmynatchapon ส 14 ก.ค. 2018 5:38 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
13
ส 14 ก.ค. 2018 5:38 pm โดย taemmynatchapon
งานประจำวันที่ 14 กรกฎาคม 2561
โดย prakon ส 14 ก.ค. 2018 5:25 pm บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
21
ส 14 ก.ค. 2018 5:26 pm โดย prakon
ปุ่ม M+ บนเครื่องคิดเลขมีไว้ทำอะไร?
โดย taemmynatchapon ส 14 ก.ค. 2018 5:11 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
16
ส 14 ก.ค. 2018 5:11 pm โดย taemmynatchapon
ใบวางบิล คืออะไร?
โดย taemmynatchapon ส 14 ก.ค. 2018 3:38 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
24
ส 14 ก.ค. 2018 3:38 pm โดย taemmynatchapon
R - หน้าทำใบเสนอราคา ขอปุ่ม update ส่วนที่เป็นค่า Customize Details
โดย mindphp ส 14 ก.ค. 2018 2:43 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
7
ส 14 ก.ค. 2018 2:43 pm โดย mindphp
กรณีสร้าง Custom Field แต่เลือก Type ของ Fields ไม่ได้
โดย Parichat ส 14 ก.ค. 2018 11:34 am บอร์ด Joomla Development
1
28
ส 14 ก.ค. 2018 11:49 am โดย Parichat
งานประจำวันที่ 14 กรกฎาคม 2561
โดย tatiya ส 14 ก.ค. 2018 9:54 am บอร์ด M065 - ตติยะ นาชัย
2
9
ส 14 ก.ค. 2018 6:43 pm โดย tatiya
ดาวน์โหลดวิดิโอจาก Youtube ง่ายๆแบบอีซี่ๆไม่ง้อโปรแกรม
โดย taemmynatchapon ศ 13 ก.ค. 2018 6:25 pm บอร์ด Share Knowledge
0
39
ศ 13 ก.ค. 2018 6:25 pm โดย taemmynatchapon
R - tool_NPER (์Number of Period) การคำนวณหาจำนวนปี หรือจำนวนเดือนที่ต้องการ
โดย pprn ศ 13 ก.ค. 2018 4:41 pm บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
0
3
ศ 13 ก.ค. 2018 4:41 pm โดย pprn
R - tool_RATE การคำนวณหาอัตราดอกเบี้ย
โดย pprn ศ 13 ก.ค. 2018 4:29 pm บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
0
4
ศ 13 ก.ค. 2018 4:29 pm โดย pprn
R - tool_FV (Future Value) การคำนวณหามูลค่าเงินในอนาคต
โดย pprn ศ 13 ก.ค. 2018 4:14 pm บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
0
7
ศ 13 ก.ค. 2018 4:14 pm โดย pprn
ขอวิธีติดตั้ง Joomla บน Ubuntu ค่ะ
โดย watcharin ศ 13 ก.ค. 2018 3:32 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
2
42
ศ 13 ก.ค. 2018 5:22 pm โดย watcharin
[ปัญหา] ติดตั้ง postgresql ลงบนเครื่องไม่ได้ครับ
โดย tatiya ศ 13 ก.ค. 2018 3:00 pm บอร์ด Programming - C/C++ & java & Python
2
25
ศ 13 ก.ค. 2018 3:29 pm โดย tatiya
[ปัญหา] import psycopg2 แล้ว Eror
โดย tatiya ศ 13 ก.ค. 2018 11:00 am บอร์ด Programming - C/C++ & java & Python
4
64
ส 14 ก.ค. 2018 11:47 am โดย tatiya
งานประจำวันที่ 13 กรกฏาคม 2561
โดย pprn ศ 13 ก.ค. 2018 9:27 am บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
2
26
ศ 13 ก.ค. 2018 6:29 pm โดย pprn