Q - อยากทราบวิธีคำนวณค่าสกุลเงินครับ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 25892
Joined: 22/09/2008 6:18 pm
Contact:

Re: Q - อยากทราบวิธีคำนวณค่าสกุลเงินครับ

Post by mindphp »

if ($list_box_a == 'บาทไทย(THB)') ===> ถ้ายังมีโค้ดนี้อยู่ในโปรแกรมที่จะเขียนแสดงว่ายังไม่เข้าใจ ที่แนะนำไป
ลองกลับไปทำความเข้าใจ กับที่แนะนำไป ถ้าไม่เข้าใจ ข้อความไหน ลองถามมาเป็น ประโยชน์
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 27170
Joined: 31/03/2014 10:02 am
Contact:

Re: Q - อยากทราบวิธีคำนวณค่าสกุลเงินครับ

Post by thatsawan »

มันเเจ้งเตือนขึ้นมาเฉยๆ ว่าสิ่งที่เขียนยังไม่ถูกต้อง เตเ่ยังไม่ถึงกับเป็น error

Notice: Array to string conversion
--> เช็คดู type ของตัวแปร ว่าเป็น อะไร ถ้าเป็น array ต้องใช้ print_r($list_box_b)
User avatar
birdkritsna
PHP Super Member
PHP Super Member
Posts: 234
Joined: 16/09/2019 9:57 am

Re: Q - อยากทราบวิธีคำนวณค่าสกุลเงินครับ

Post by birdkritsna »

mindphp wrote:if ($list_box_a == 'บาทไทย(THB)') ===> ถ้ายังมีโค้ดนี้อยู่ในโปรแกรมที่จะเขียนแสดงว่ายังไม่เข้าใจ ที่แนะนำไป
ลองกลับไปทำความเข้าใจ กับที่แนะนำไป ถ้าไม่เข้าใจ ข้อความไหน ลองถามมาเป็น ประโยชน์
ในส่วนนี้ผมสร้างถูกไหมครับ

Code: Select all

<div  class="form-group">
                                            <select name="list_box_a" id="list_box_a">			
                                                <option value="กีบลาว(LAK)"><?php echo $lang_lak ?></option>
                                                <option value="ดงเวียดนาม(VND)"><?php echo $lang_vnd ?></option>
                                                <option value="ดอลล่าห์สิงคโปร์(SGD)"><?php echo $lang_sgd ?></option>
                                                <option value="บาทไทย(THB)" ><?php echo $lang_thb ?></option>
                                                <option value="ปอนด์(GBP)"><?php echo $lang_gbp ?></option>
                                                <option value="ยูโร(EUR)"><?php echo $lang_eur ?></option>
                                                <option value="ดอลล่าห์สหรัฐ(USD)" selected><?php echo $lang_usd ?></option>
                                            </select>
                                        </div>
mindphp wrote:สร้าง list box ด้วย array
โดยสร้าง array รูปแบบตามนี้ คล้ายนี้

Code: Select all

$a_currencies['THB']=1.00;
$a_currencies['USD']=30.00;
 
เอา array นี้ไปวน loop สร้าง List box ค่าเป็น index ของ List box เป็น Key ของ array
User avatar
birdkritsna
PHP Super Member
PHP Super Member
Posts: 234
Joined: 16/09/2019 9:57 am

Re: Q - อยากทราบวิธีคำนวณค่าสกุลเงินครับ

Post by birdkritsna »

thatsawan wrote:มันเเจ้งเตือนขึ้นมาเฉยๆ ว่าสิ่งที่เขียนยังไม่ถูกต้อง เตเ่ยังไม่ถึงกับเป็น error

Notice: Array to string conversion
--> เช็คดู type ของตัวแปร ว่าเป็น อะไร ถ้าเป็น array ต้องใช้ print_r($list_box_b)
ลองปริ้นแล้ว แสดงแค่ text ส่วนค่า ตัวแปร $value ไม่แสดงออกมาครับ
User avatar
birdkritsna
PHP Super Member
PHP Super Member
Posts: 234
Joined: 16/09/2019 9:57 am

Re: Q - อยากทราบวิธีคำนวณค่าสกุลเงินครับ

Post by birdkritsna »

mindphp wrote:if ($list_box_a == 'บาทไทย(THB)') ===> ถ้ายังมีโค้ดนี้อยู่ในโปรแกรมที่จะเขียนแสดงว่ายังไม่เข้าใจ ที่แนะนำไป
ลองกลับไปทำความเข้าใจ กับที่แนะนำไป ถ้าไม่เข้าใจ ข้อความไหน ลองถามมาเป็น ประโยชน์
ผมอยากทราบว่า ทำไมถึงคำนวณค่าตัวแปร ที่ได้มาจาก json ไม่ได้ครับ
โค๊ดถอดรหัส json เป็น array ครับ

Code: Select all

<?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&"
   ,
  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);
$response = json_decode(curl_exec($curl),1);
$data = $response["result"]["data"]["data_detail"];

curl_close($curl);
ผลลัพธ์
002.jpg
ดึงข้อมูลออกมาอยู่ในรุปแบบของ list box

Code: Select all

					 <select name="list_box_a" id="list_box_a">
                                        <?php
                                          foreach($data as $v) { $selling = $v['selling'] ?>
                                            <option value="<?= $v['currency_id'] ?>"><?= $v['currency_name_th'] ?></option>
                                        <?php
                                          } ?>
                                      </select> 
หน้าจอ
001.jpg
001.jpg (58.31 KiB) Viewed 138 times
โค๊ดคำนวณ
ตัวแปร ค่าเงินที่ได้จากถอดรหัส json

Code: Select all

$v['selling']
ผมเลยกำหนดตัวแปรใหม่เป็น

Code: Select all

$selling = $v['selling'] 
จากนั้นผมเลยเรียกค่าสกุลเงิน จาก list box เลย

Code: Select all

$selling[$list_box_a]
แบบนี้ถูกต้องไหมครับ

Code: Select all

 				if (isset($_POST['submit'])) {
                                $submit1 = @$_POST['submit1'];
                                $name = $_POST['name'];
                                $text_box = $_POST['num1'];
                                $list_box_a = $_POST['list_box_a'];
                                $list_box_b = $_POST['list_box_b'];
                                //selling คือ ค่าเงิน มาจาก api ธนาคาร
                               foreach($data as $v) { 
                                 $selling = $v['selling'];} ?>                           
                           <?php                            
                            //ดอลล่าห์เป็นบาทไทย
                            } else if ($list_box_a == 'USD') {
                                
                                $value = $text_box * $selling[$list_box_a]
                                } else if ($list_box_a == 'EUR') {
                            //$value = $a_currencies[$list_box_b] / $a_currencies[$list_box_a];
                            
                            };
User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 27170
Joined: 31/03/2014 10:02 am
Contact:

Re: Q - อยากทราบวิธีคำนวณค่าสกุลเงินครับ

Post by thatsawan »

Code: Select all

if ($list_box_a == 'USD') {
                               
                                $value = $text_box * $selling[$list_box_a]
                                } else if ($list_box_a == 'EUR') {
                            //$value = $a_currencies[$list_box_b] / $a_currencies[$list_box_a];
ถ้าดักค่าเเบบนี้ยังไม่ถูก มันควรจะอ่านตาม ตัวเลือก list ที่เอามาจาก API
User avatar
birdkritsna
PHP Super Member
PHP Super Member
Posts: 234
Joined: 16/09/2019 9:57 am

Re: Q - อยากทราบวิธีคำนวณค่าสกุลเงินครับ

Post by birdkritsna »

thatsawan wrote:

Code: Select all

if ($list_box_a == 'USD') {
                               
                                $value = $text_box * $selling[$list_box_a]
                                } else if ($list_box_a == 'EUR') {
                            //$value = $a_currencies[$list_box_b] / $a_currencies[$list_box_a];
ถ้าดักค่าเเบบนี้ยังไม่ถูก มันควรจะอ่านตาม ตัวเลือก list ที่เอามาจาก API
ลองเป็นดักค่าจาก list api ก็ยัง error ครับ

Code: Select all

			if ($currency_id == 'USD') {
				$value = $text_box * $v['selling'];
003.jpg
003.jpg (25.65 KiB) Viewed 133 times
บรรทัด ที่ Error

Code: Select all

 <?php echo number_format($value,2, '.', ''). "   " .$list_box_b; ?>
User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 27170
Joined: 31/03/2014 10:02 am
Contact:

Re: Q - อยากทราบวิธีคำนวณค่าสกุลเงินครับ

Post by thatsawan »

error ให้แปะ code error ลงมาเลยค่ะ

ลองศึกษา number_format
https://www.mindphp.com/%E0%B8%84%E0%B8 ... mat().html

เช็คดูมีค่าส่งมาครบหรือป่าว
Post Reply

Return to “Programming - PHP”

Who is online

Users browsing this forum: No registered users and 21 guests