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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
งานประจำวันที่ 4 ตุลาคม 2561
โดย pprn พฤ 04 ต.ค. 2018 10:13 am บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
1
16
พฤ 04 ต.ค. 2018 7:18 pm โดย pprn
งานประจำวันที่ 4 ตุลาคม 2561
โดย prakon พฤ 04 ต.ค. 2018 10:09 am บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
10
พฤ 04 ต.ค. 2018 7:01 pm โดย prakon
งานประจำวันที่ 4 ตุลาคม 2561
โดย tai14 พฤ 04 ต.ค. 2018 10:02 am บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
1
8
พฤ 04 ต.ค. 2018 7:27 pm โดย tai14
งานประจำวันที่ 4 ตุลาคม 2561
โดย nice_13 พฤ 04 ต.ค. 2018 9:54 am บอร์ด M071 - พิชญ์สินี คงจร
2
10
พฤ 04 ต.ค. 2018 7:15 pm โดย nice_13
งานประจำวันที่ 04 ตุลาคม 2561
โดย Ittichai_chupol พฤ 04 ต.ค. 2018 9:52 am บอร์ด M070 - อิทธิชัย ชูผล
2
28
พฤ 04 ต.ค. 2018 7:18 pm โดย Ittichai_chupol
งานประจำวันที่ 4 ตุลาคม 2561
โดย tatiya พฤ 04 ต.ค. 2018 9:33 am บอร์ด M065 - ตติยะ นาชัย
1
8
พฤ 04 ต.ค. 2018 10:10 pm โดย tatiya
B - ใบ Print INVOICE/TAX INVOICE ไม่แสดงหัวกระดาษ
โดย rinrada พฤ 04 ต.ค. 2018 8:41 am บอร์ด สิริกิตติรัตน์ - Tester
1
6
จ 08 ต.ค. 2018 8:06 pm โดย thatsawan
5 ไอเดียน่ารัก DIY จากกระดุมผ้า
โดย Anonymous พ 03 ต.ค. 2018 6:51 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
82
พ 03 ต.ค. 2018 6:51 pm โดย บุคคลทั่วไป
Module Category (โมดูล แคตตากอรี่) สำหรับแสดงหมวดหมู่สินค้า
โดย pprn พ 03 ต.ค. 2018 5:56 pm บอร์ด Joomla Extension Review
1
99
พฤ 04 ต.ค. 2018 4:49 pm โดย poilly
การติดตั้ง OpenCart อย่างละเอียด
โดย tai14 พ 03 ต.ค. 2018 5:25 pm บอร์ด Share Knowledge
1
78
พ 03 ต.ค. 2018 5:30 pm โดย tai14
Module Cart Ext ตะกร้าสินค้าของผู้ใช้งานที่บอกรายละเอียดสินค้าได้มากกว่าแค่ราคาสินค้า
โดย pprn พ 03 ต.ค. 2018 5:07 pm บอร์ด Joomla Extension Review
0
68
พ 03 ต.ค. 2018 5:07 pm โดย pprn
Module Cart (โมดูลคาร์ท) บอกจำนวนสินค้าและราคาสินค้าในตะกร้าผู้ใช้
โดย pprn พ 03 ต.ค. 2018 4:06 pm บอร์ด Joomla Extension Review
0
85
พ 03 ต.ค. 2018 4:06 pm โดย pprn
R - Tools_calculet_height_child
โดย Ittichai_chupol พ 03 ต.ค. 2018 3:31 pm บอร์ด M070 - อิทธิชัย ชูผล
6
52
พ 10 ต.ค. 2018 7:15 pm โดย Ittichai_chupol
สรุปอินเด็กซ์วิด๊โอ test_training_selenium
โดย prakon พ 03 ต.ค. 2018 12:20 pm บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
0
14
พ 03 ต.ค. 2018 12:20 pm โดย prakon
อยากให้ลูกสูงพ่อแม่้องทำอย่างไร
โดย Ittichai_chupol พ 03 ต.ค. 2018 11:58 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
54
พ 03 ต.ค. 2018 11:58 am โดย Ittichai_chupol
ตัวช่วยแปลงข้อมูลจากPHPnuke เป็น Joomla โดยใช้ Components MPhpNuke2Joomla ใน Joomla
โดย Parichat พ 03 ต.ค. 2018 10:46 am บอร์ด PHP News
0
53
พ 03 ต.ค. 2018 10:46 am โดย Parichat
งานประจำวันที่ 3 ตุลาคม 2561
โดย pprn พ 03 ต.ค. 2018 10:07 am บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
1
12
พ 03 ต.ค. 2018 6:53 pm โดย pprn
งานประจำวันที่ 03 ตุลาคม 2561
โดย Ittichai_chupol พ 03 ต.ค. 2018 10:07 am บอร์ด M070 - อิทธิชัย ชูผล
2
21
พ 03 ต.ค. 2018 7:04 pm โดย Ittichai_chupol
งานประจำวันที่ 3 ตุลาคม 2561
โดย prakon พ 03 ต.ค. 2018 9:49 am บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
17
พ 03 ต.ค. 2018 11:05 am โดย prakon
งานประจำวันที่ 3 ตุลาคม 2561
โดย nice_13 พ 03 ต.ค. 2018 9:47 am บอร์ด M071 - พิชญ์สินี คงจร
1
4
พ 03 ต.ค. 2018 7:37 pm โดย nice_13