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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
การใช้ try-catch จับ Exception ในภาษา Java
โดย nai_cyp พฤ 13 ส.ค. 2020 2:47 pm บอร์ด Share Knowledge
0
8
พฤ 13 ส.ค. 2020 2:47 pm โดย nai_cyp
การใช้ switch ในภาษา Java
โดย nai_cyp พฤ 13 ส.ค. 2020 2:45 pm บอร์ด Share Knowledge
0
6
พฤ 13 ส.ค. 2020 2:45 pm โดย nai_cyp
การใช้คำสั่ง break และ continue ในภาษา Java
โดย nai_cyp พฤ 13 ส.ค. 2020 2:44 pm บอร์ด Share Knowledge
0
5
พฤ 13 ส.ค. 2020 2:44 pm โดย nai_cyp
การใช้ Do-While loop ในภาษา Java
โดย nai_cyp พฤ 13 ส.ค. 2020 1:37 pm บอร์ด Share Knowledge
0
7
พฤ 13 ส.ค. 2020 1:37 pm โดย nai_cyp
การใช้ For-loop ในภาษา Java
โดย nai_cyp พฤ 13 ส.ค. 2020 1:36 pm บอร์ด Share Knowledge
0
6
พฤ 13 ส.ค. 2020 1:36 pm โดย nai_cyp
การใช้ While-loop ในภาษา Java
โดย nai_cyp พฤ 13 ส.ค. 2020 1:33 pm บอร์ด Share Knowledge
0
8
พฤ 13 ส.ค. 2020 1:33 pm โดย nai_cyp
โปรแกรมตัดต่อ VDO ที่ฟรี บน windows
โดย nai_cyp พฤ 13 ส.ค. 2020 11:35 am บอร์ด Share Knowledge
2
19
พฤ 13 ส.ค. 2020 12:36 pm โดย nai_cyp
สร้าง crontab ใน Directadmin แล้ว Error Error Creating Cron Job
โดย mindphp พ 12 ส.ค. 2020 5:08 am บอร์ด Linux - Web Server
1
30
พ 12 ส.ค. 2020 5:17 am โดย mindphp
Undertaker เปิดตัวด้วยเพลงของ Metalica (ดนตรี)
โดย nai_cyp อ 11 ส.ค. 2020 5:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
13
อ 11 ส.ค. 2020 5:20 pm โดย nai_cyp
Green Day ปล่อยเพลงใหม่ช่วง COVID-19 (ดนตรี)
โดย nai_cyp อ 11 ส.ค. 2020 5:16 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
13
อ 11 ส.ค. 2020 5:16 pm โดย nai_cyp
BLACKPINK โปสเตอร์ทีเซอร์ใหม่? (ดนตรี)
โดย nai_cyp อ 11 ส.ค. 2020 5:11 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
11
อ 11 ส.ค. 2020 5:11 pm โดย nai_cyp
Liam Gallagher ในช่วง COVID-19 ระบาด (ดนตรี)
โดย nai_cyp อ 11 ส.ค. 2020 5:10 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
10
อ 11 ส.ค. 2020 5:10 pm โดย nai_cyp
Khalid ในช่วง COVID-19 ระบาด (ดนตรี)
โดย nai_cyp อ 11 ส.ค. 2020 5:07 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
13
อ 11 ส.ค. 2020 5:07 pm โดย nai_cyp
Green Day ในช่วง COVID-19 ระบาด (ดนตรี)
โดย nai_cyp อ 11 ส.ค. 2020 5:01 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
12
อ 11 ส.ค. 2020 5:01 pm โดย nai_cyp
การคำนวณเงินหากลูกค้าเป็นสมาชิกโดยใช้ If/else ในภาษา Java
โดย nai_cyp จ 10 ส.ค. 2020 7:10 pm บอร์ด Share Knowledge
0
23
จ 10 ส.ค. 2020 7:10 pm โดย nai_cyp
การหาค่า BMI ในภาษา Java
โดย nai_cyp จ 10 ส.ค. 2020 6:45 pm บอร์ด Share Knowledge
0
16
จ 10 ส.ค. 2020 6:45 pm โดย nai_cyp
ขั้นตอนการใช้ SMS Gateway
โดย natthanit.r2538 พ 08 ก.ค. 2020 11:42 am บอร์ด Programming - PHP
1
12
พ 08 ก.ค. 2020 7:10 pm โดย natthanit.r2538
การรับค่า Input ในภาษา Java
โดย nai_cyp จ 10 ส.ค. 2020 5:30 pm บอร์ด Share Knowledge
0
41
จ 10 ส.ค. 2020 5:30 pm โดย nai_cyp
สถานที่ท่องเที่ยวในกรุงเทพ
โดย nai_cyp จ 10 ส.ค. 2020 3:16 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
38
อ 11 ส.ค. 2020 1:59 pm โดย Sirayu
ภาพอาการแบตบวม ของ Asus ZenBook UX430UQ
โดย mindphp อ 09 ส.ค. 2020 11:40 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
47
อ 11 ส.ค. 2020 12:09 pm โดย mindphp