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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
input type=date จัดเก็บเป็นสตริง
โดย sirapatearth1811 อ 07 ส.ค. 2018 3:09 pm บอร์ด Programming - PHP
0
37
อ 07 ส.ค. 2018 3:09 pm โดย sirapatearth1811
เลือกค่าSelectจากฟิลด์ID ให้Auto แสดงผลลัพธ์Name ที่สอดคล้องกัน
โดย sirapatearth1811 อ 07 ส.ค. 2018 3:06 pm บอร์ด Programming - PHP
0
33
อ 07 ส.ค. 2018 3:06 pm โดย sirapatearth1811
[PHP] รวมค่าinputจากหน้าฟอร์ม ตามDigit ที่กำหนด
โดย sirapatearth1811 อ 07 ส.ค. 2018 2:58 pm บอร์ด Programming - PHP
0
33
อ 07 ส.ค. 2018 2:58 pm โดย sirapatearth1811
นักวิเคราะห์ระบบคือใคร
โดย tai14 อ 07 ส.ค. 2018 2:06 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
31
อ 07 ส.ค. 2018 2:06 pm โดย tai14
Q - บันทึกข้อมูลจากหน้าเว็บใน Joomla
โดย Parichat จ 06 ส.ค. 2018 1:27 pm บอร์ด Joomla Dev
88
201
พ 08 ส.ค. 2018 4:23 pm โดย tsukasaz
5 ที่เที่ยวชิคๆในกรุงเทพ
โดย tai14 อ 07 ส.ค. 2018 12:24 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
35
อ 07 ส.ค. 2018 12:24 pm โดย tai14
อัพเกรด Joomla 3.6 เป็น 3.8.11 แล้วหน้าขาว เข้าหลังบ้านแล้วไม่ได้
โดย icphp อ 07 ส.ค. 2018 11:53 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
26
อ 07 ส.ค. 2018 1:23 pm โดย tsukasaz
งานที่ต้องทำประจำวันที่ 7 สิงหาคม 2561
โดย tai14 อ 07 ส.ค. 2018 10:55 am บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
1
24
อ 07 ส.ค. 2018 5:30 pm โดย tai14
ตัวช่วยในการจัดการบทความในหน้าเว็บไซต์ใน Joomla
โดย Parichat อ 07 ส.ค. 2018 10:24 am บอร์ด PHP News
0
18
อ 07 ส.ค. 2018 10:24 am โดย Parichat
งานประจำวันที่ 7 สิงหาคม 2561
โดย prakon อ 07 ส.ค. 2018 10:18 am บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
33
อ 07 ส.ค. 2018 11:02 am โดย prakon
งานประจำวันที่ 7 สิงหาคม 2561
โดย pprn อ 07 ส.ค. 2018 10:14 am บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
1
25
อ 07 ส.ค. 2018 1:59 pm โดย pprn
งานประจำวันที่ 07 สิงหาคม 2561
โดย Lamduan อ 07 ส.ค. 2018 10:03 am บอร์ด M066 - นางสาวลำดวน พันโอดเบี้ย
1
9
พ 15 ส.ค. 2018 10:23 am โดย Lamduan
LS2208 เครื่องสแกนบาร์โค้ดระบบเลเซอร์แบบ : 1 เส้น ความเร็วในการสแกนบาร์โค้ด : 100 ครั้ง/วินาที หน้าสแกนกว้าง : 43 ซม. ระ
โดย Barcode Retail อ 07 ส.ค. 2018 8:24 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
20
อ 07 ส.ค. 2018 8:24 am โดย Barcode Retail
สูตรการคำนวน PV แบบคำนวนมือ
โดย taemmynatchapon จ 06 ส.ค. 2018 7:23 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
57
จ 06 ส.ค. 2018 7:23 pm โดย taemmynatchapon
วิธีเปิดโปรแกรมให้ run as administrator บน ubuntu
โดย tatiya จ 06 ส.ค. 2018 7:01 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
18
จ 06 ส.ค. 2018 7:01 pm โดย tatiya
G - ข้อมูลสำหรับทำระบบ - สิริกิตติรัตน์
โดย mindphp จ 06 ส.ค. 2018 6:31 pm บอร์ด สิริกิตติรัตน์ (Main)
1
10
พ 08 ส.ค. 2018 6:41 pm โดย nuattawoot
Q- สอบถามวิธีเข้าไปแก้ไขไฟล์ที่ Import module เข้ามา
โดย tatiya จ 06 ส.ค. 2018 5:58 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
19
จ 06 ส.ค. 2018 6:49 pm โดย tatiya
ตัวอย่างฟังก์ชัน String ภาษา PHP
โดย tai14 จ 06 ส.ค. 2018 5:35 pm บอร์ด PHP Knowledge
1
43
จ 06 ส.ค. 2018 6:11 pm โดย AePongsak
Q - การเลือก Payment Method ในเมนู Customer Payment
โดย taemmynatchapon จ 06 ส.ค. 2018 4:31 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
1
4
พ 08 ส.ค. 2018 11:54 pm โดย thatsawan
เทมเพลตคืออะไร มาทำความรู้จักกัน
โดย tai14 จ 06 ส.ค. 2018 3:34 pm บอร์ด PHP Knowledge
0
32
จ 06 ส.ค. 2018 3:34 pm โดย tai14