ให้เรตสมาชิก: 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 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ภาษาซี (C/C++) กับ โจทย์ทั่วไป (3) แสดงตัวอักษร a - z ตัวอักษรพิมพ์เล็ก
โดย Aussadawut พ 21 พ.ย. 2018 11:13 am บอร์ด Share Knowledge
0
155
พ 21 พ.ย. 2018 11:13 am โดย Aussadawut
ภาษาซี (C/C++) กับ โจทย์ทั่วไป (2) แสดงตัวอักษร A - Z ตัวอักษรพิมพ์ใหญ่
โดย Aussadawut พ 21 พ.ย. 2018 10:54 am บอร์ด Share Knowledge
0
151
พ 21 พ.ย. 2018 10:54 am โดย Aussadawut
ภาษาซี (C/C++) กับ โจทย์ทางคณิตศาสตร์ (3) จงเขียนโปรแกรมรับค่าของมุม เพื่อแสดงค่าของ Sin Cos Tan
โดย Aussadawut อ 20 พ.ย. 2018 11:53 pm บอร์ด Share Knowledge
0
156
อ 20 พ.ย. 2018 11:53 pm โดย Aussadawut
ภาษาซี (C/C++) กับ โจทย์ทั่วไป (1) รับค่าตัวเลขใดก็ได้ และเมื่อรับค่าเลข 0 ให้จบการทำงานของโปรแกรม...
โดย Aussadawut อ 20 พ.ย. 2018 10:43 pm บอร์ด Share Knowledge
0
148
อ 20 พ.ย. 2018 10:43 pm โดย Aussadawut
Built-in functions (4)ฟังก์ชัน Strpos
โดย จันนุสรณ์ ดีแก่ อ 20 พ.ย. 2018 6:40 pm บอร์ด PHP Knowledge
0
82
อ 20 พ.ย. 2018 6:40 pm โดย จันนุสรณ์ ดีแก่
Data Time Function เบื้องต้น
โดย จันนุสรณ์ ดีแก่ อ 20 พ.ย. 2018 6:26 pm บอร์ด PHP Knowledge
0
109
อ 20 พ.ย. 2018 6:26 pm โดย จันนุสรณ์ ดีแก่
การโหลด geckodriver
โดย ธวัชชัย แสนหาญ อ 20 พ.ย. 2018 5:32 pm บอร์ด Share Knowledge
0
136
อ 20 พ.ย. 2018 5:32 pm โดย ธวัชชัย แสนหาญ
การติดตั้ง selenium บน PyCharm
โดย ธวัชชัย แสนหาญ อ 20 พ.ย. 2018 4:54 pm บอร์ด Python Knowledge
0
188
อ 20 พ.ย. 2018 4:54 pm โดย ธวัชชัย แสนหาญ
Math Function พร้อมตัวอย่างเบื้องต้น
โดย จันนุสรณ์ ดีแก่ อ 20 พ.ย. 2018 4:50 pm บอร์ด PHP Knowledge
0
83
อ 20 พ.ย. 2018 4:50 pm โดย จันนุสรณ์ ดีแก่
วิธีเชื่อ App ที่เขี่ยนเข้ากับ data
โดย zinxinsin อ 20 พ.ย. 2018 3:11 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
139
อ 20 พ.ย. 2018 3:11 pm โดย zinxinsin
วิธีเชื่อ App ที่เขี่ยนเข้ากับ data
โดย zinxinsin อ 20 พ.ย. 2018 3:06 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
109
อ 20 พ.ย. 2018 3:06 pm โดย zinxinsin
Built-in functions (3)ฟังชัน Substr และ ฟังก์ชั่น Strlen
โดย จันนุสรณ์ ดีแก่ อ 20 พ.ย. 2018 2:09 pm บอร์ด PHP Knowledge
1
78
อ 20 พ.ย. 2018 3:17 pm โดย daday0807
Q - วิธีการ แก้ไข้ erroe จากการเขียน phpbb เพื่อแบ่งหน้า ให้ส่วน Admin
โดย Ittichai_chupol อ 20 พ.ย. 2018 2:08 pm บอร์ด Programming - PHP
1
175
อ 20 พ.ย. 2018 7:01 pm โดย thatsawan
Built-in functions (2)ฟังชันNumber_format() และ ฟังก์ชั่น Str_repeat()
โดย จันนุสรณ์ ดีแก่ อ 20 พ.ย. 2018 1:34 pm บอร์ด PHP Knowledge
0
37
อ 20 พ.ย. 2018 1:34 pm โดย จันนุสรณ์ ดีแก่
Built-in functions (1)ฟังชัน explode() และ ฟังก์ชั่น Implode()
โดย จันนุสรณ์ ดีแก่ อ 20 พ.ย. 2018 11:23 am บอร์ด PHP Knowledge
0
38
อ 20 พ.ย. 2018 11:23 am โดย จันนุสรณ์ ดีแก่
แนะนำวิธี Start VM ด้วย Comamnd Line ใน คำสั่งเปิดเครื่อง
โดย mindphp อ 20 พ.ย. 2018 11:17 am บอร์ด Linux - Web Server
1
169
พ 21 พ.ย. 2018 7:24 pm โดย mindphp
ภาษาซี (C/C++) กับ โจทย์ทางคณิตศาสตร์ (2) แปลงฟุต&นิ้ว เป็น เซนติเมตร
โดย Aussadawut จ 19 พ.ย. 2018 2:57 pm บอร์ด Share Knowledge
0
150
จ 19 พ.ย. 2018 2:57 pm โดย Aussadawut
ภาษาซี (C/C++) กับ โจทย์ทางคณิตศาสตร์ (1) หาค่า “พื้นที่สี่เหลี่ยมจตุรัส” และ “ความยาวของเส้นรอบสี่เหลี่ยมจตุรัส”
โดย Aussadawut จ 19 พ.ย. 2018 11:09 am บอร์ด Share Knowledge
0
178
จ 19 พ.ย. 2018 11:09 am โดย Aussadawut
ภาษาซี กับ โจทย์ คำนวณ BMI
โดย Aussadawut ส 17 พ.ย. 2018 7:34 pm บอร์ด Share Knowledge
0
176
ส 17 พ.ย. 2018 7:34 pm โดย Aussadawut
การใช้ Foreach loop Statements ใน python
โดย ธวัชชัย แสนหาญ ส 17 พ.ย. 2018 7:16 pm บอร์ด Python Knowledge
0
211
ส 17 พ.ย. 2018 7:16 pm โดย ธวัชชัย แสนหาญ