ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comความรู้ทั่วไปAmazonAmazon For Developers [ตอนที่ 3] basic PHP+XML
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: Amazon For Developers [ตอนที่ 3] basic PHP+XML  (อ่าน 5896 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
zenithsoul
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 56
ออฟไลน์ ออฟไลน์

กระทู้: 293



ดูรายละเอียด
« เมื่อ: 19 ธันวาคม 2008, 22:52:53 »

สวัสดีครับชาวเสียวบอร์ดทุกคนผมกลับมาแล้ว  Grin (บางคนอาจจะรอจนเงือกแห้ง  Lips Sealed )

วันนี้ผมแนะนำการใช้งานเกี่ยวกับ Basic PHP + XML ซึ่งเป็นประโยชน์ต่อการเขียน WebAPI กับ Amazon นะครับ

คือต้องมีพื้นฐานเกี่ยวกับการเขียน php มาบ้างแล้วนะครับ ให้ศึกษาเอง

เตรียมเครื่องมือกันก่อนครับ

AppServ 2.5.10
อ้างถึง

วิธีติดตั้ง Search หาGoogleเอานะครับ

code ตัวอย่างชื่อ example.php
อ้างถึง
<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
       <movie>
                   <title>PHP: Behind the Parser</title>
                   <characters>
                          <character>
                              <name>Ms. Coder</name>
                              <actor>Onlivia Actora</actor>
                         </character>
                          <character>
                              <name>Mr. Coder</name>
                              <actor>El Act&#211;r</actor>
                          </character>
                   </characters>
                   <plot>
                       So, this language. It's like, a programming language. Or is it a
                       scripting language? All is revealed in this thrilling horror spoof
                       of a documentary.
                  </plot>
                  <great-lines>
                        <line>PHP solves all my web problems</line>
                 </great-lines>
                 <rating type="thumbs">7</rating>
                 <rating type="stars">5</rating>
        </movie>
</movies>
XML;
?>


สังเกตจาก tag xml นะครับผมเรียงให้แล้ว

ตัวอย่างที่  1.การดึงค่าใน  tab  <plot>  .........  </plot>

ไฟล์ get1.php
อ้างถึง
<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

echo $xml->movie[0]->plot; //?>

งงละซิว่าตัวแปรแต่ละตัวมันหมายความว่ายังไง

include 'example.php';   // บรรทัดนี้ดึงไฟล์ example.php เข้ามาด้วยแต่ต้องอยู่ในโฟเดอร์เดียวกันนะ
$xml = new SimpleXMLElement($xmlstr); // ดึงข้อมูลจากตัวแปร $xmlstr ที่อยู่ในไฟล์ example.php
                                                             เข้าสู่ คลาสของ SimpleXMLElement เริ่มการอ่าน tag
                                                             แต่ละ tag ไว้ในตัวแปร $xml

echo $xml->movie[0]->plot;  // echo <- เป็นฟังชั่นการแสดงค่า  $xml->movie[0]->plot ออกมา

ลองรันไฟล์ดูนะครับ +++++++++++++++ จะเห็นผลเป็น

อ้างถึง
So, this language. It's like, a programming language. Or is it a
scripting language? All is revealed in this thrilling horror spoof
of a documentary.

movie[0]  ตรงนี้ที่เป็น 0 เนื่องจาก tag movie มีแค่อันเดียวครับ (ถ้าใครไม่เข้าใจกรุณาอ่านเกี่ยวกับ Array ใน PHP)

ดังตารางข้างล่างครับซึ่งมีอยู่ Tag เดียว

อ้างถึง
       <movie>
             ...................................................
        </movie>

ไฟล์ get2.php ดึงค่าตัวแปร์ ใน Tag line
อ้างถึง
<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

echo $xml->movie->{'great-lines'}->line; // "PHP solves all my web problems"
?>

สังเกตว่าไฟล์นี้การดึงค่าออกมาแปลกไปนะครับเนื่องจากใน tag great-lines มีอักขระพิเศษซึ่งไม่ใช่ตัวอักษรครับ
« แก้ไขครั้งสุดท้าย: 19 ธันวาคม 2008, 22:55:48 โดย zenithsoul » บันทึกการเข้า
zenithsoul
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 56
ออฟไลน์ ออฟไลน์

กระทู้: 293



ดูรายละเอียด
« ตอบ #1 เมื่อ: 19 ธันวาคม 2008, 22:53:21 »

ไฟล์ get4.php
อ้างถึง
<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

foreach ($xml->movie as $movie) {
   echo $movie->plot, '<br />';
}
?>

อันนี้เป็นการดึงค่าทุก ๆ tag plot ออกมาแสดงครับถ้ามี tag plot อยู่เป็น 3 มันก็แสดงออกมาหมดเลยครับ

ตัวอย่างข้างล่าง
อ้างถึง
........................
.........
<plot>
    aasdadsadasdasdsa
</plot>
<plot>
    123456456546546
</plot>
<plot>
    awdq54wqqwe4q6w5d1
</plot>
........
......................

ก็จะแสดงเป็น
อ้างถึง
aasdadsadasdasdsa123456456546546awdq54wqqwe4q6w5d1

ไฟล์ get5.php
อ้างถึง
<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

foreach ($xml->movie[0]->rating as $rating) {

    switch((string) $rating['type']) {
    case 'thumbs':
        echo $rating, ' thumbs up';
        break;
    case 'stars':
        echo $rating, ' stars';
        break;
    }

}
?>

เราเห็น tag ข้างล่างนี้ไหมครับ
อ้างถึง
                <rating type="thumbs">7</rating>
                <rating type="stars">5</rating>
ใน tag นี้ยังมีค่าในตัวแปรใน tag rating คือตัวแปร type ซึ่งเรียกว่า attributes ครับ ซึ่งในไฟล์ get5.php

นี้จะเป็นการดึงค่าใน tag rating โดยทำการใช้ swich เป็นตัวแยกเงื่อนไงโดยเข้าถึง (string) $rating['type']

โดยที่ $xml->movie[0]->rating as $rating หรืออ่านว่า $xml->movie[0]->rating มีค่าเท่ากับ $rating

หรือเราจะใช้ $xml->movie[0]->rating['type']  ก็ได้ครับ


ตัวอย่างสุดท้ายการค้นหา tag ไฟล์ get6.php
อ้างถึง
<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

foreach ($xml->xpath('//character') as $character) {
    echo $character->name, 'played by ', $character->actor, '<br />';
}
?>

จากไฟล์ข้างบนเนี่ยจะเห็นว่าเราใช้ xpath เลยโดยไม่มีการอ้างอิงเข้าไปในตัวแปรเลย และ สังเกตดูดี ๆ นะครับว่ามี

'  //  ' อยู่สองครั้งนั่นหมายความว่า

อ้างถึง
<movie>                                                                 ไม่ใส่  /
                   <characters>                                           ใส่  /   ครั้งที่ 1
                          <character>                                      ใส่ /    ครั้งที่ 2
                              <name>Ms. Coder</name>
                              <actor>Onlivia Actora</actor>
                         </character>
                          <character>
                              <name>Mr. Coder</name>
                              <actor>El Act&#211;r</actor>
                          </character>
                   </characters>
        </movie>

ถ้าเอา / ออกตัวหนึ่งมันก็จะไม่แสดงค่าครับ แสดงว่าเวลาถ้าเราอ้างอิงเข้าสู่ tag แบบ Search เอาต้องกำหนด

path  ให้กับ Xpath ด้วยครับ
« แก้ไขครั้งสุดท้าย: 19 ธันวาคม 2008, 23:16:26 โดย zenithsoul » บันทึกการเข้า
zenithsoul
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 56
ออฟไลน์ ออฟไลน์

กระทู้: 293



ดูรายละเอียด
« ตอบ #2 เมื่อ: 19 ธันวาคม 2008, 22:53:56 »

หมดแล้วครับ ยังไงทั้งหมดทั่งมวลนี้เนี่ย ต้องนำไปใช้ในการเขียนโปรแกรมกับ API ของ Amazon นะครับ

ซึ่งส่วนมากผมมองว่าน่าจะเป็นการอ่านข้อมูลมาจากทาง Amazon อย่างเดียวครับ

ตอนต่อไป ตอนที่ 4 ลุยงานจริง ครั้งที่ 1 กับ Amazon API ครับ

ปล. ผมเห็นแว๊บ ๆ ว่า shopping ก็มี API เหมือนกับ Amazon อยู่นะครับ
ปล. ถูกใจให้     +1    นะครับตามศรัทธา
« แก้ไขครั้งสุดท้าย: 19 ธันวาคม 2008, 23:19:52 โดย zenithsoul » บันทึกการเข้า
crongcrang
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 32
ออฟไลน์ ออฟไลน์

กระทู้: 1,011



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 19 ธันวาคม 2008, 22:58:28 »

Thank ครับ
บันทึกการเข้า

MamaPapa
คนรักเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 129



ดูรายละเอียด
« ตอบ #4 เมื่อ: 19 ธันวาคม 2008, 23:06:57 »

เยี่ยมครับ ขอบคุงครับ... Smiley
บันทึกการเข้า

john007
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 18
ออฟไลน์ ออฟไลน์

กระทู้: 1,640



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 19 ธันวาคม 2008, 23:19:01 »

 Smiley เยี่ยมๆ ดีครับ
บันทึกการเข้า

beername
คนรักเสียว
*

พลังน้ำใจ: 6
ออฟไลน์ ออฟไลน์

กระทู้: 124



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 20 ธันวาคม 2008, 00:16:28 »

เดียวไปหัดเขียนphpก่อน  Tongue
บันทึกการเข้า
inDexTop10
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 59
ออฟไลน์ ออฟไลน์

กระทู้: 2,019



ดูรายละเอียด
« ตอบ #7 เมื่อ: 20 ธันวาคม 2008, 00:19:00 »

Smiley

เยียมครับ

จะรอ ของจริง

Smiley
บันทึกการเข้า

Digitalocean.com - ถูกและดีจริง ลด 10$ ลงไปเป็นบอก
ohmohm
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 170
ออฟไลน์ ออฟไลน์

กระทู้: 3,092



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 20 ธันวาคม 2008, 01:38:34 »

ตามมาดูต่อ ขอบคุณครับ
    
Amazon For Developers [ตอนที่ 2] เตรียมเครื่องมือก่อน
http://www.thaiseoboard.com/index.php/topic,46149.0.html

Amazon For Developers [ตอนที่ 4] ลงมือกันดีกว่าครับ Amazon API + ItemLookup
http://www.thaiseoboard.com/index.php/topic,47531.0.html
« แก้ไขครั้งสุดท้าย: 24 มกราคม 2009, 01:32:03 โดย ohmohm » บันทึกการเข้า
AlphaCentury
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 14



ดูรายละเอียด
« ตอบ #9 เมื่อ: 20 ธันวาคม 2008, 18:45:54 »

ติดตามอยู่นะครับ เคยเล่นแต่ CMS กะเว็ปปั่น(AOM)

มีคนสอนภาษาไทยงี้จะได้เล่น API ของ Amazon เป็นซะที (เคยเข้าไปอ่านเห็นภาษาอังกฤษ แล้วตาลาย เลิกเลย อิอิ  Tongue)
บันทึกการเข้า
homekung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 52
ออฟไลน์ ออฟไลน์

กระทู้: 1,834



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 22 ธันวาคม 2008, 10:25:52 »

ขอบคุงครับ....+1  Cry
บันทึกการเข้า

atmake
ก๊วนเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 451



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 23 ธันวาคม 2008, 17:49:31 »

ขอบคุณครับ  Smiley
บันทึกการเข้า
MamaPapa
คนรักเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 129



ดูรายละเอียด
« ตอบ #12 เมื่อ: 03 มกราคม 2009, 17:19:02 »

มาอ่านๆ มาดัน รอภาค 4 ครับ... Cry
บันทึกการเข้า

natee248
ก๊วนเสียว
*

พลังน้ำใจ: 8
ออฟไลน์ ออฟไลน์

กระทู้: 228



ดูรายละเอียด
« ตอบ #13 เมื่อ: 09 มกราคม 2009, 23:04:02 »

ต้องเป็นเทพแน่ๆ   มนุษย์ธรรมดาไม่เข้าใจอ่ะ  Lips Sealed
บันทึกการเข้า
fredomlife
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 34



ดูรายละเอียด เว็บไซต์
« ตอบ #14 เมื่อ: 23 มกราคม 2009, 14:50:32 »

 Cry

สุดยอดมากเลยครับ
บันทึกการเข้า

เปิดไซต์แล้วครับ (อย่างไม่เป็นทางการ) fredomlife.com
ggmakerich
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 98



ดูรายละเอียด เว็บไซต์
« ตอบ #15 เมื่อ: 02 มีนาคม 2009, 13:08:53 »

 Smiley Thank..
บันทึกการเข้า

###KAOHOLDING CO.,LTD.###

# จัดหาและจัดจำหน่ายสินค้าอุปโภคบริโภคเพื่อการส่งออกต่างประเทศ เช่น ลาว พม่า เวียดนาม กัมพูชา มาเลเซีย และจีน รวมทั้งประเทศอื่น

สนใจติดต่อ line id/tel : 0911579898
khanna
ก๊วนเสียว
*

พลังน้ำใจ: 9
ออฟไลน์ ออฟไลน์

กระทู้: 226



ดูรายละเอียด
« ตอบ #16 เมื่อ: 06 มีนาคม 2009, 19:38:22 »

ขอบคุณครับ
บันทึกการเข้า
gamaxx
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 46



ดูรายละเอียด เว็บไซต์
« ตอบ #17 เมื่อ: 12 มีนาคม 2009, 19:31:57 »

มาถึงตรงนี้ขอพักแป๊บ...อิอิอิไปศึกษา PHP ก่อน Tongue..คงอีกนานแน่กว่าจะได้ใช้..
แต่เอาไปใช้กับ Plug in ของ WP ได้ครับไปลองเล่นมาเจ๋งดี...... Wink
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์