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

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

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

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41387
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย 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
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

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

Notice: Array to string conversion
--> เช็คดู type ของตัวแปร ว่าเป็น อะไร ถ้าเป็น array ต้องใช้ print_r($list_box_b)
ภาพประจำตัวสมาชิก
birdkritsna
PHP Super Member
PHP Super Member
โพสต์: 234
ลงทะเบียนเมื่อ: 16/09/2019 9:57 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย birdkritsna »

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

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

<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 เขียน:สร้าง list box ด้วย array
โดยสร้าง array รูปแบบตามนี้ คล้ายนี้

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

$a_currencies['THB']=1.00;
$a_currencies['USD']=30.00;
 
เอา array นี้ไปวน loop สร้าง List box ค่าเป็น index ของ List box เป็น Key ของ array
ภาพประจำตัวสมาชิก
birdkritsna
PHP Super Member
PHP Super Member
โพสต์: 234
ลงทะเบียนเมื่อ: 16/09/2019 9:57 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย birdkritsna »

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

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

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

โพสต์ที่ยังไม่ได้อ่าน โดย birdkritsna »

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

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

<?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

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

					 <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 362 times
โค๊ดคำนวณ
ตัวแปร ค่าเงินที่ได้จากถอดรหัส json

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

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

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

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

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

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

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

 				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];
                            
                            };
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

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

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
ภาพประจำตัวสมาชิก
birdkritsna
PHP Super Member
PHP Super Member
โพสต์: 234
ลงทะเบียนเมื่อ: 16/09/2019 9:57 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย birdkritsna »

thatsawan เขียน:

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

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 ครับ

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

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

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

 <?php echo number_format($value,2, '.', ''). "   " .$list_box_b; ?>
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

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

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

เช็คดูมีค่าส่งมาครบหรือป่าว
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

เช็คว่ามันทำงาน

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

if ($currency_id == 'USD') {
            $value = $text_box * $v['selling']; 
หรือยังด้วย
ภาพประจำตัวสมาชิก
birdkritsna
PHP Super Member
PHP Super Member
โพสต์: 234
ลงทะเบียนเมื่อ: 16/09/2019 9:57 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย birdkritsna »

thatsawan เขียน:error ให้แปะ code error ลงมาเลยค่ะ

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

เช็คดูมีค่าส่งมาครบหรือป่าว
Error เหมือนกันครับ ผมลอง echo ค่า $value เดี่ยวๆเลย ก็ไม่ได้คครับ
Notice: Undefined variable: number in D:\xampp\htdocs\joomla_testing\tools\exchange_rate\index.php on line 289
0.00 GBP

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

 <?php echo $english_format_number = number_format($number, 2, '.', '')." ".$list_box_b; ?>
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 39