Q - อยากทราบวิธีการดึงค่า api อัตราการแลกเปลี่ยนสกุลเงิน มาใช้อย่างไรครับ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: Q - อยากทราบวิธีการดึงค่า api อัตราการแลกเปลี่ยนสกุลเงิน มาใช้อย่างไรครับ

Re: Q - อยากทราบวิธีการดึงค่า api อัตราการแลกเปลี่ยนสกุลเงิน มาใช้อย่างไรครับ

โดย birdkritsna » 21/09/2019 4:34 pm

mindphp เขียน:โค้ด line นี้เอามาจากไหน หมายถึงอะไร

โค้ด: เลือกทั้งหมด

$result = json_decode($matchs[1], true); 
ตัวแปล $matchs ไม่เคยมีการประกาศไว้ก่อนหน้านี้
ต้องประกาศตัวแปรไหนก่อนครับ
อ้างอิงโค๊ดมาจาก viewtopic.php?f=72&t=57785

Re: Q - อยากทราบวิธีการดึงค่า api อัตราการแลกเปลี่ยนสกุลเงิน มาใช้อย่างไรครับ

โดย mindphp » 21/09/2019 4:19 pm

โค้ด line นี้เอามาจากไหน หมายถึงอะไร

โค้ด: เลือกทั้งหมด

$result = json_decode($matchs[1], true); 
ตัวแปล $matchs ไม่เคยมีการประกาศไว้ก่อนหน้านี้

Re: Q - อยากทราบวิธีการดึงค่า api มาใช้อย่างไรครับ

โดย birdkritsna » 21/09/2019 3:02 pm

mindphp เขียน:เป็นอย่างไรบ้าง กับคำแนะนำ ที่ให้ไป
ลองทำตามในกระทู้แล้วครับ ขึ้น error ครับ

โค้ด: เลือกทั้งหมด

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://apigw1.bot.or.th/bot/public/Stat-ExchangeRate/v2/DAILY_AVG_EXG_RATE/"
    . "?start_period=2019-09-19&"
    . "end_period=2019-09-20&"
   . "currency=USD",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "x-ibm-client-id: 41a7650e-697b-4c11-968b-b982bac08687"
  ),
));


$response = curl_exec($curl);

$err = curl_error($curl);


$result = json_decode($matchs[1], true);
$player_response = json_decode($result['args']['player_response'], true);
$exchange = $player_response['data_detail']['exchange'];
echo print_r($exchange);

curl_close($curl);
หน้าจอ
q4.jpg
q4.jpg (21.73 KiB) Viewed 165 times
รบกวนแนะนำเพิ่มเติมหน่อยครับ ว่าผิดถูกตรงไหนครับผม

Re: Q - อยากทราบวิธีการดึงค่า api มาใช้อย่างไรครับ

โดย mindphp » 21/09/2019 12:58 pm

เป็นอย่างไรบ้าง กับคำแนะนำ ที่ให้ไป

Re: Q - อยากทราบวิธีการดึงค่า api มาใช้อย่างไรครับ

โดย mindphp » 20/09/2019 11:44 am

tsukasaz เขียน:ข้อมูลมันเป็นรูปบบ JSON ต้องแปลงเป็น array โดยใช้คำสั่ง json_decode แล้วเอา array มาถอดค่าอีกทีนึง
ตัวอย่างที่ใกล้เคียง
viewtopic.php?f=72&t=57785
อีกหนึ่งตัวอย่าง
viewtopic.php?p=47817#p47817
viewtopic.php?f=77&t=22137

ใช้คำค้น json_decode ใน บอร์ด mindphp.com
หรือ
ค้นใน Google

โค้ด: เลือกทั้งหมด

site:mindphp.com json_decode 

Re: Q - อยากทราบวิธีการดึงค่า api มาใช้อย่างไรครับ

โดย tsukasaz » 20/09/2019 11:36 am

ข้อมูลมันเป็นรูปบบ JSON ต้องแปลงเป็น array โดยใช้คำสั่ง json_decode แล้วเอา array มาถอดค่าอีกทีนึง

Re: Q - อยากทราบวิธีการดึงค่า api มาใช้อย่างไรครับ

โดย birdkritsna » 20/09/2019 11:10 am

tsukasaz เขียน:โค้ดที่ใช้มันเป็นโค้ดตัวอย่าง น่าจะต้องสมัครสมาชิกของเว็บ แล้วเอา client id ของตัวเองมาใช้ครับ
สมัครมาแล้วครับ ดึงข้อมูลออกมาได้แล้วครับผม
03.jpg
Q ไม่ทราบว่าจะดึงข้อมูลแค่บางส่วนจากรูปที่วงไว้ มาเก็บในฐานข้อมูลได้อย่างไรครับ

Re: Q - อยากทราบวิธีการดึงค่า api มาใช้อย่างไรครับ

โดย tsukasaz » 20/09/2019 10:50 am

โค้ดที่ใช้มันเป็นโค้ดตัวอย่าง น่าจะต้องสมัครสมาชิกของเว็บ แล้วเอา client id ของตัวเองมาใช้ครับ

Re: Q - อยากทราบวิธีการดึงค่า api มาใช้อย่างไรครับ

โดย birdkritsna » 20/09/2019 10:42 am

tsukasaz เขียน:จากโค้ดเราไม่ได้ echo หรือ print อะไร มันก็ไม่แสดงค่าอะไรอยู่แล้วครับ ลองเอาตัวแปร $response กับ $err มา print_r ดูหน่อยครับ ว่าได้อะไรไหม
02.jpg

โค้ด: เลือกทั้งหมด

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://apigw1.bot.or.th/bot/public/Stat-ReferenceRate/v2/MONTHLY_REF_RATE/?start_period=2019-08-19&end_period=2019-09-20",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "x-ibm-client-id: lR4gQ7fV7sQ5xQ6wH5nM2hL2mK3uN6wG4jA1dV2wD3cV1nE2uO"
  ),
));


$response = curl_exec($curl);
$err = curl_error($curl);

echo print_r($response);
echo print_r($err);

curl_close($curl);

Re: Q - อยากทราบวิธีการดึงค่า api มาใช้อย่างไรครับ

โดย birdkritsna » 20/09/2019 10:30 am

ผมใช้โค๊ดตามด้านบนเลยครับ ไม่แน่ใจว่าใช้ถูกหรือเปล่าครับ
01.jpg

ข้างบน