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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
MOD_MTB_NEWS_RECENT
งานประจำวันที่ 23 ตุลาคม 2560
โดย AePongsak จ 23 ต.ค. 2017 10:06 am บอร์ด Part time work M039
1
4
จ 23 ต.ค. 2017 10:06 am โดย AePongsak
ว่าด้วยเรื่อง ruk-com.in.th โฮสติ้ง เมื่อเด็กรุ่นใหม่จัดเต็ม
โดย konseo อ 22 ต.ค. 2017 7:34 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
0
21
อ 22 ต.ค. 2017 7:34 pm โดย konseo
SQL Error ตอน insert คำที่มี quote ' เเละ " แก้ไขยังไงค่ะ
โดย thatsawan อ 22 ต.ค. 2017 4:07 pm บอร์ด SQL - Database
0
15
อ 22 ต.ค. 2017 4:07 pm โดย thatsawan
จะเเช่า Hosting เลือก CP ตัวไหนดี cPanel DirectAdmin
โดย บุคคลทั่วไป อ 22 ต.ค. 2017 2:16 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
2
17
อ 22 ต.ค. 2017 2:16 pm โดย บุคคลทั่วไป
หานักศึกษาทำงาน part time ช่วยงานติดตั้งระบบปฏิบัติการบน VMWare
โดย บุคคลทั่วไป อ 22 ต.ค. 2017 1:03 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
19
อ 22 ต.ค. 2017 1:03 am โดย บุคคลทั่วไป
สอบถามเรื่องการ insert ข้อมูลในรูปแบบ multiple ครับ
โดย Nueng Chiramet ส 21 ต.ค. 2017 8:00 pm บอร์ด Programming - PHP
1
15
ส 21 ต.ค. 2017 8:00 pm โดย mindphp
สอบถามเรื่องการ insert ข้อมูลในรูปแบบ multiple ครับ
โดย Nueng Chiramet ส 21 ต.ค. 2017 7:47 pm บอร์ด Programming - PHP
0
11
ส 21 ต.ค. 2017 7:47 pm โดย Nueng Chiramet
เรื่องจริงที่ Developer ทุกคนเคยเจอ
โดย Before Dong ศ 20 ต.ค. 2017 9:32 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
48
ศ 20 ต.ค. 2017 9:32 am โดย Before Dong
ภาพความฝัน กับความจริง ตอนรันโปรแกรม รันกราฟโชว์ผลงาน
โดย Before Dong พฤ 19 ต.ค. 2017 10:30 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
3
136
ศ 20 ต.ค. 2017 9:15 am โดย Before Dong
อยากหัดเขียนโปรแกรมเซฟรูปจากห้องแชทในไลน
โดย pwbank พฤ 19 ต.ค. 2017 11:59 pm บอร์ด Programming - C/C++ & java & Python
1
33
พฤ 19 ต.ค. 2017 11:59 pm โดย konseo
เขียนโค้ดยังไงให้จับคู่ตัวเลขทุกตัว โดยใช้ javascript เท่านั้น
โดย mybbb พฤ 19 ต.ค. 2017 9:59 pm บอร์ด JavaScript & Jquery Ajax
1
24
พฤ 19 ต.ค. 2017 9:59 pm โดย konseo
ตัวอย่างการใช้คำสั่ง time.sleep() ใน Selenium
โดย paoonline พฤ 19 ต.ค. 2017 6:58 pm บอร์ด Python Knowledge
0
33
พฤ 19 ต.ค. 2017 6:58 pm โดย paoonline
ติดตั้ง จูมช็อบปิ้งไม่ได้ครับ Error
โดย chungchai พ 18 ต.ค. 2017 7:54 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
4
38
พ 18 ต.ค. 2017 7:54 pm โดย xampp
ตัวอย่าง การดึงข้อมูลเวลาวันที่จากฐานข้อมูลมาแปลงเป็นรูปแบบ Date Time(เดททาม) สากล
โดย paoonline พ 18 ต.ค. 2017 4:05 pm บอร์ด Python Knowledge
0
46
พ 18 ต.ค. 2017 4:05 pm โดย paoonline
ยกเลิก Class ชื่อ JDocumentRendererHead ในเวอร์ชั่น 3.8.0 ขึ้นไป ทำให้เกิด Error ที่หน้าเว็บไซต์
โดย tsukasaz พ 18 ต.ค. 2017 3:58 pm บอร์ด Joomla Development
0
28
พ 18 ต.ค. 2017 3:58 pm โดย tsukasaz
เส้นทางที่โรยด้วย กลีบกุหลาบ ของโปรแกรมเมอร์
โดย Before Dong พ 18 ต.ค. 2017 11:29 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
276
พ 18 ต.ค. 2017 11:29 am โดย Before Dong
คำสั่ง ดู พื้นที่ใน Folder Linux
โดย mindphp อ 17 ต.ค. 2017 9:42 pm บอร์ด Linux - Web Server
2
54
อ 17 ต.ค. 2017 9:42 pm โดย mindphp
สอบถามไม่สามารถใช้ Selenium IDE ใน Firefox ได้ครับ
โดย paoonline อ 17 ต.ค. 2017 4:39 pm บอร์ด Programming - C/C++ & java & Python
0
38
อ 17 ต.ค. 2017 4:39 pm โดย paoonline
สอบถามถ้าต้องการเช็คค่าที่เป็นจุดทศนิยมเเล้วต้องการปัดลงจะทำยังไงได้บ้างค่ะ
โดย thatsawan อ 17 ต.ค. 2017 1:42 pm บอร์ด Programming - C/C++ & java & Python
2
75
อ 17 ต.ค. 2017 1:42 pm โดย jataz2
Project Manager VS Developer - เมื่อประชุมทีมพัฒนา
โดย Before Dong อ 17 ต.ค. 2017 10:41 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
86
อ 17 ต.ค. 2017 10:41 am โดย Before Dong