|
|
|
Ajax +php มันคืออะไรครับ Ajax +php มันคืออะไรครับ ถ้าอยากจะเขี่ยนนี่ต้องเริ่มต้นยังไงครับ |
|
|
|
|
|
|
|
ป็น technology ใหม่ ที่เอาของเก่ามาใช้ โดยอาศัย Javascript , XML, CSS และ XHTML
ตั้งแต่แถวปลายๆ ทศวรรษ1990 บริษัท Microsoft เป็นบริษัทแรก ที่เอา technology มาใช้โดยเอามาใส่ในส่วนของ Internet Explorer ในปี 1998 Microsoft ได้เอามาใช้ใน Outlook ในส่วนของ e-mail( ซึ่ง Microsoft บอกว่า มีผู้ใช้ Outlook ประมาณ 80 ล้านคน) แต่ Microsoft ไม่ได้เป็นคนตั้งตัวย่อ AJAX นี้ และที่ technology นี้เกิดนิยมกันขึ้นมามาก เพราะ บริษัทGoogle เอามาใช้ โดยเฉพาะอย่างยิ่งใน Google Map เพราะ มันเร็ว และภาพบนจอปรากฎขึ้นอย่างนิ่มนวล ปัจจุบันนี้ technology นี้ เป็นสิ่งที่ใช้กันมากมาย จนถึงกับเกิดบริษัทใหม่ ที่ใช้ technology นี้ขึ้นมา
จะยกตัวอย่างให้เห็นจริงว่า เกิดอะไรขึ้นบ้างในการใช้ technology นี้ ในสงครามอิรัค กระทรวงกลาโหม ห้ามไม่ให้ทหารที่ประจำในอิรัค download program พวก instant message หรือที่เรียกกันทั่วไปว่า chat เข้ามาใช้ใน computer ทั้งนี้เพราะเจ้า program พวกนี้ กิน bandwidth ( กินที่บนทางด่วนแยะ) ปรากฎว่า ทหารไปเจอบริษัทหนึ่งขึ้นมา ( Meebo Inc ) บริษัทที่ว่านี้ ใช้ Ajax technology ทำให้คนใช้บริการของเขาสามารถส่งข้อความผ่าน web server ทั่วไป เช่น Yahoo, AOL หรือ Microsoft โดยไม่ต้องไป download โปรแกรมชนิด messenger การใช้โปรแกรมของ Meebo ทำให้ user สามารถ computer ไหนก็ได้ เข้าไปใช้ บริการที่ว่า แล้ว เข้าไป login เข้าไปในชื่อของตนเองแล้ว ส่ง message ไปยัง list ของเพื่อนของตนเองได้
โปรแกรมที่ Meebo ใช้ นั้นอาศัย Ajax technology ทำให้ web program ทำงาน เร็วได้เกือบเหมือนกับว่า โปรแกรมนี้ ทำงานอยู่บนเครื่องเดียวกัน ( แทบจะไม่รู้ว่า ต้องส่งข้อความออกจากเครื่องผ่านเวป แล้วรอคำตอบมา คือมัน เร็ว เหมือนกับว่า user ใช้ program เช่น Word หรือ Excel อย่างนั้นเลย ) หรือจะพูดอีกนัยหนึ่งว่า ทำงานเหมือนอย่างกับdesktop program เลย
จะให้เข้าใจว่า Ajax มันทำงานอย่างไร ก็ต้องมาทบทวนว่า web technology ขั้นพื้นฐานมันทำงานอย่างไร ( สำหรับคนเขียน webpage เอง จะเข้าใจ ได้ดีกว่า คนไม่มีพื้นในการเขียนเวปมาก่อน)
โดยปกติ เมื่อเรา user ต้องการจะเข้า web เราก็จะเปิด browser เช่น Intenet Explorer( IE) หรือ Firefox แล้วพิมพ์ ชื่อ ที่อยู่ ของ หน้า webpage ที่เราต้องการ หรือที่เราเรียกกันว่า URL ตัวผู้ใช้ที่เปิด browser นี้ ก็คือ ลูกค้า หรือ ผู้ใช้ คืออยู่ทางฝั่ง client ที่เรียกภาษาทางการว่า client-side ไอ้เจ้า URL ที่ว่า ก็จะถูกส่งผ่าน internet ไปขอเปิดหน้าที่ต้องการยัง server เช่น เราจะขอเปิดหน้า www.msn.com หรือ www.yahoo.com เป็นต้น ทาง server เมื่อได้รับการขอหน้า webpage ก็จะจัดการจัดหน้า webpage ให้ออกมาท้ายสุด ในรูป file ชนิด html ( แม้ว่า ชื่อ file ที่ขอจะเป็นสกุล อื่น เช่น php แต่ผลที่ php จัดการให้นั้น ท้ายสุด จะออกมาในรูปของ html) ฉะนั้น ขณะนี้ เราก็มี อยู่สองฝั่ง คือ ฝั่ง ผู้ให้บริการ หรือที่เรียกว่า server side และ ทางฝั่ง ฝ่ายผู้ขอ หรือ ฝ่ายลูกค้า หรือที่เรียกว่า client side
จะเห็นว่า หน้าตาของจอ นั้นเกิดจาก server ส่ง file ชนิด html มาให้ browser เมื่อ browser เห็น รูปแบบ html แล้ว ก็จะเอาขึ้นหน้าจอ เพราะ browser เป็นตัวที่เข้าใจรูปแบบของ html เป็นอย่างดี ทันทีที่ server ส่ง html file มาให้แล้ว การติดต่อจะขาดจากกัน server และ client ที่เพิ่งขอข้อมูล จะไม่รู้จักกันเลย หรือในทางภาษาเทคนิคของ web programming เขาเรียกว่า stateless ดังนั้น เมื่อ browser จะติดต่อกับไป ก็ต้องมาคุยกันใหม่ (ต้องบอกทุกครั้งว่าจะเอาหน้าไหนอีก [คือต้องใส่ url อีก] ) ยกตัวอย่าง สมมุติว่า client( ผู้ใช้ ผู้ขอ ใช้ browser) ต้องการ ขอดูคะแนนนักเรียน ก็จะมีหน้าจอ ที่เป็นรูป html ให้ใส่ รหัสนักเรียน เมื่อ ใส่ในช่องว่า รหัสแล้ว ก็จะ กดปุ่ม submit ส่งไป จะเห็นว่าข้อมูลนี้ ก็จะส่งไป ยัง server เพื่อขอให้ไปจัดการเอารหัสไปหาคะแนน ของนักเรียน
ตัวอย่าง table ใน ฐานข้อมูล ชนิด flat file database ชื่อ Vote ซึ่งได้เก็บ ตารางชื่อ tblvote อยู่ ในนั้นมีชื่อของนักเรียนอยู่ หน้าตาของ ตารางเป็นเช่นนี้
==============================
selectID#selectName#voteCount
int#string#int
##
1#นายหล่อ#6
2#นางสวย#2
3#ดช ตุ้ดตู่#5
4#ดญ ปากดี#4
5#ดช เหลือเกิน#9
6#นายเถื่อน#9
==============================
ให้ใส่ รหัสนักเรียน ค่าจาก 1-6 เพื่อไปดึงชื่อออกมา
โปรแกรมแรกคือการหาชื่อนักเรียน โดยอาศัยรหัสของนักเรียนดู code ใส่รหัสนักเรียน
สนใจลองเข้าไปใช้โปรแกรมขอรหัสนักเรียน
จะเห็นว่า โปรแกรมนี้ มีช่องว่างให้ใส่ รหัสนักเรียน เมื่อผู้ใช้ ใส่ข้อมูลแล้ว กดปุ่ม submit มันก็จะส่งข้อมูลกลับไป เพราะ action="showStudentName.php"เป็นตัวขอให้ทาง web server ไปเอา file "showStudentName.php" มาจัดการเรื่องการดึงข้อมูลนักเรียน ที่ตรงกับรหัสที่ขอไปดูcode ที่ไปดึงชื่อนักเรียนมา
server ก็จะส่งหน้า( webpage)ที่เป็นรายละเอียดของคะแนนนักเรียน มาเป็นหน้า webpage ใหม่ มาให้ browser เอาขึ้นหน้าจอใหม่อีก
ผลคือ
1 จอกระพริบ เพราะมี webpageใหม่ ซึ่งต้อง refresh ใหม่
2 ช้า
3 ต้องรอการรับผลกลับมา จากที่ส่งขอไป และเป็นการส่งแบบ webpage ทั้งหน้าทำให้กินที่บนทางด่วน( กิน bandwidth มาก)
อันนี้ ก็ต้องการให้เข้าใจหลักพื้นๆ ของ web technology
สำหรับ Ajax นั้น การทำงานโดยย่อๆ ของมันก็คือว่า ส่งชิ้นส่วนกลับไปขอยัง server ด้วยข้อมูลชิ้นเล็กๆ และส่งข้อมูลที่ต้องการกลับมายังหน้า webpage เดิมที่ขอข้อมูลไป ฉะนั้นทำให้การเสีย bandwidth น้อย และการทำงานจะเร็ว ปรากฎว่า หัวใจของ Ajax อาศัยตัวโปรแกรม (object) อยู่ตัวหนึ่ง คือ XMLHttpRequest ความสามารถหรือความดีของเจ้านี่ก็คือ เมื่อ user ที่เปิด html page ขึ้นมาแล้วนั้น สามารถ ส่งข้อมูลโดยอาศัยเจ้า "XMLHttpRequest" ไปถาม server โดยขอแค่ ข้อมูลเล็กๆ จำกัด แล้วให้ ทาง server จัดการหาข้อมูลแล้วส่งข้อมูลที่ว่า กลับมาในรูป XML ซึ่ง javascript จะเป็นตัวจัดการผลลัพธ์หรือข้อมูลที่ต้องการ ซึ่งจะมีการจัดวางรูปแบบ(ข้อมูลที่กลับมา) ที่มีระเบียบ พร้อมที่จะเอามาใช้ ใน webpage หน้าเดิมนั่นแหละ
ไปดู code ที่ใช้ AJAX โดยมีช่องให้ใส่รหัสของนักเรียน แล้วกดปุ่ม "get Student"
ใช้โปรแกรมที่อาศัย AJAX โดยอาศัย wrapper ชนิดที่ชื่อ XAJAX
ผลก็คือ
๑ หน้าจอ แสดงผลได้นิ่มนวล เพราะไม่ต้อง refresh ใหม่ แค่เติม ในช่องว่างที่ขาด ในหน้าเดิม
๒ การแสดงผลลัพธ์ ได้เร็ว
๓ ข้อมูลที่ส่งไปมา ไม่ได้ส่งทั้งหน้า ทำให้ bandwidth ( การจราจร) ไม่คับคั่ง (เฉพาะผลประโยชน์อันนี้ มีบริษัทเกิดขึ้นใหม่ ให้บริการขึ้นอีกไม่น้อย ยกตัวอย่าง บริษัทที่เอ่ยมาข้างต้น)
soolidea มั้ยหล่ะครับ
|
|
|
|
|
Date :
30 ม.ค. 2549 18:48:46 |
By :
trojan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ
แล้วถ้าจะเขียนนี่จะเริ่มต้นยังไงเหรอครับ ..........????????????????????????????
|
|
|
|
|
Date :
31 ม.ค. 2549 10:19:31 |
By :
นายต้นกล้วย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
6 ก.ค. 2550 19:28:07 |
By :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สนใจอบรม
ASP.NET ราคา 8,900 30 ชั่วโมง 5 วัน
VB.NET ราคา 8,900 30 ชั่วโมง 5 วัน
SQL2005, ราคา 8,900 30 ชั่วโมง 5 วัน
Ajax ราคา 4,500 18 ชั่วโมง 3 วัน
ท่านใดสนใจอบรมกับทางบริษัทเข้าที่เว็บไซต์ http://www.g2g.co.th/registerA.php
เพื่อสมัครสำรองที่นั่งกับทางบริษัท จีทูจี จำกัด และทางบริษัทจะส่งตารางการอบรมให้ท่านอีกครั้งหนึ่ง
สอบถามข้อมูลเพิ่มเติมได้ที่
Regards,
Suwimon Rattanalai
Mobile : 087 - 979 - 8923 / 081-351-6817
www.g2g.co.th
บริษัท จีทูจี จำกัด
503/3 อาคาร เค.เอส.แอล ชั้น3 ถนนศรีอยุธยา แขวงถนนพญาไท เขตราชเทวี กรุงเทพมหานคร 10400
โทร 02-642-6160-1 Fax 02-642-6160 Hotline 081-351-6816-7
|
|
|
|
|
Date :
14 ส.ค. 2550 11:23:36 |
By :
suwimon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|