Page 1 of 3

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

Posted: 21/09/2019 11:01 am
การคำนวณอัตราแลกเปลี่ยนสกุลเงิน ผมติดปัญหาการคำนวณค่าอยู่(สมมติค่าแทน) ซึ่งค่าที่ได้จากการแปลง ยังเป็นค่าเดิมอยู่เลยครับ

ผล
q1.jpg (42.89 KiB) Viewed 355 times

โค๊ดที่ใช้

Code: Select all

``````   if (isset(\$_POST['submit'])) {
\$submit1 = @\$_POST['submit1'];
\$name = \$_POST['name'];
\$value = \$_POST['num1'];
\$from_currency = \$_POST['list1'];
\$num2 = \$_POST['list2'];
//
if (\$from_currency == 'กีบลาว(LAK)') {
\$lak = \$from_currency;
\$vnd = \$value * 50;
\$sgd = \$value * 45;
\$thb = \$value * 33;
\$gbp = \$value * 60;
\$eur = \$value * 55;
\$usd = \$value * 45;
} else if (\$from_currency == 'ดงเวียดนาม(VND)') {
\$lak = \$value / 20;
\$vnd = \$from_currency;
\$sgd = \$value * 200;
\$thb = \$value * 30;
\$gbp = \$value * 350;
\$eur = \$value * 90;
\$usd = \$value * 99;
} else if (\$from_currency == 'ดอลล่าห์สิงคโปร์(SGD)') {
\$lak = \$value / 60;
\$vnd = \$value / 30;
\$sgd = \$from_currency ;
\$thb = \$value / 23 ;
\$gbp = \$value *10;
\$eur = \$value *8;
\$usd = \$value *5;
} else if (\$from_currency == 'บาทไทย(THB)') {
\$lak = \$value / 500 ;
\$vnd = \$value / 800;
\$sgd = \$value * 22 ;
\$thb = \$from_currency ;
\$gbp = \$value * 38;
\$eur = \$value * 33;
\$usd = \$value * 30 ;
} else if (\$from_currency == 'ปอนด์(GBP)') {
\$lak = \$value /200;
\$vnd = \$value /100;
\$sgd = \$value /8;
\$thb = \$value /38;
\$gbp = \$from_currency ;
\$eur = \$value /10;
\$usd = \$value /8;
} else if (\$from_currency == 'ยูโร(EUR)') {
\$lak = \$value/180;
\$vnd = \$value/150 ;
\$sgd = \$value/10 ;
\$thb = \$value/30;
\$gbp = \$value*5 ;
\$eur = \$from_currency ;
\$usd = \$value/2 ;
} else if (\$from_currency == 'ดอลล่าห์สหัฐ(USD)') {
\$lak = \$value/180;
\$vnd = \$value/135 ;
\$sgd = \$value/25 ;
\$thb = \$value/30 ;
\$gbp = \$value*3 ;
\$eur = \$value*2 ;
\$usd = \$from_currency ;
} else {

}

date_default_timezone_set("Asia/Bangkok");
\$datetime = time();
\$date = date("Y-m-d  H:i:s", time());
?>
<div align="center">
<h3><?php echo \$lang_userinformation;?></h3>
<table class="table">
<tbody>

<!--  TEST   -->
<!--  ชื่อ ผู้ใช้้งาน   -->
<tr class="warning">
<td align="right" width="50%">
<?php echo "ชื่อ : "; ?>
</td>
<td>
<?php echo \$name ?>
</td>
</tr>
<!--  สกุุลเงินที่เลือก  -->
<tr class="active">

<tr class="warning">
<td align="right" width="50%">
<?php echo "\$lang_from_currency :"; ?>
</td>
<td>
<?php echo \$value . "   " .\$from_currency; ?>
</td>
<!--  จำนวนเงินที่แปลง   -->
<tr class="warning">
<td align="right" width="50%">
<?php echo  " สกุลเงินทีได้ :"; ?>
</td>
<td>
<?php echo \$value . "   " . \$num2; ?>
</td>
</tr>

<!--  เวลาที่ใช้งาน   -->
<tr class="warning">
<td align="right" width="50%">
<?php echo \$lang_activetime." : "; ?>
</td>
<td>
<?php echo date("Y-m-d  H:i:s", time()); ?>

</td>
</tr>
<tr class="active">
<td align="right" width="50%">
<?php echo \$lang_your_ip." : "; ?>
</td>
<td>
<?php echo \$ip; ?>
</td>
</tr>
</tbody>
</table>
</div>``````

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

Posted: 21/09/2019 12:49 pm
สร้าง 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

เวลานำมาคำนวณ เช่น text box กรอก 100
เลือก list box a เป็น USD List box b เป็นTHB
นำมาคำนวณ ดังนี้

Code: Select all

``\$text_box * \$a_currencies[\$list_box_a] ``

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

Posted: 21/09/2019 12:57 pm
ตัวอย่างผล
ถ้าจะคิด 1 THB เป็น กี่ USD

Code: Select all

``\$a_currencies['THB'] / \$a_currencies['USD']``
ซึ่งก็คือ

Code: Select all

``\$a_currencies[\$list_box_b] / \$a_currencies[\$list_box_a]``
นั่นเอง

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

Posted: 21/09/2019 1:34 pm
mindphp wrote:สร้าง list box ด้วย array

เอา array นี้ไปวน loop สร้าง List box ค่าเป็น index ของ List box เป็น Key ของ array
ผมขอคำอธิบายหรือยกตัวอย่างในส่วนนี้เพิ่มเติมได้ไหมครับ

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

Posted: 21/09/2019 1:56 pm
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

เวลานำมาคำนวณ เช่น text box กรอก 100
เลือก list box a เป็น USD List box b เป็นTHB
นำมาคำนวณ ดังนี้

Code: Select all

``\$text_box * \$a_currencies[\$list_box_a] ``

Code: Select all

``````				<div class="col-md-6">
<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>
</div>

<div class="col-md-2">
<div  class="form-group">
<select name="list_box_b" id="list_box_b">
<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)" selected><?php echo \$lang_thb ?></option>
<option value="ปอนด์(GBP)"><?php echo \$lang_gbp ?></option>
<option value="ยูโร(EUR)"><?php echo \$lang_eur ?></option>
<option value="ดอลล่าห์สหรัฐ(USD)"><?php echo \$lang_usd ?></option>

</select>
</div>``````
จะกำหนดค่า option value ของแต่ละ list box ได้อย่างไรบ้างครับผม

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

Posted: 21/09/2019 2:32 pm
mindphp wrote:ตัวอย่างผล
ถ้าจะคิด 1 THB เป็น กี่ USD

Code: Select all

``\$a_currencies['THB'] / \$a_currencies['USD']``
ซึ่งก็คือ

Code: Select all

``\$a_currencies[\$list_box_b] / \$a_currencies[\$list_box_a]``
นั่นเอง
ลองปรับตามแล้วครับ เกิด error ครับผม

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'];
\$a_currencies['บาทไทย(THB)']=1.00;
\$a_currencies['ดอลล่าห์สหัฐ(USD)']=30.00;

//

} if (\$list_box_a == 'บาทไทย(THB)') {
\$value = \$a_currencies[\$list_box_b] / \$a_currencies[\$list_box_a];

} else if (\$list_box_a == 'ดอลล่าห์สหัฐ(USD)') {
\$value = \$text_box * \$a_currencies[\$list_box_b];

} else {

}

date_default_timezone_set("Asia/Bangkok");
\$datetime = time();
\$date = date("Y-m-d  H:i:s", time());
?>
<div align="center">
<h3><?php echo \$lang_userinformation;?></h3>
<table class="table">
<tbody>

<!--  TEST   -->
<!--  ชื่อ ผู้ใช้้งาน   -->
<tr class="warning">
<td align="right" width="50%">
<?php echo "ชื่อ : "; ?>
</td>
<td>
<?php echo \$name ?>
</td>
</tr>
<!--  สกุุลเงินที่เลือก  -->
<tr class="active">

<tr class="warning">
<td align="right" width="50%">
<?php echo "\$lang_from_currency :"; ?>
</td>
<td>
<?php echo \$value . "   " . \$list_box_a; ?>
</td>

<!--  สกุลเงินที่แปลง   -->
<tr class="warning">
<td align="right" width="50%">
<?php echo  " สกุลเงินทีได้ :"; ?>
</td>
<td>
<?php echo \$value . "   " . \$list_box_b; ?>
</td>
</tr>

<!--  เวลาที่ใช้งาน   -->
<tr class="warning">
<td align="right" width="50%">
<?php echo \$lang_activetime." : "; ?>
</td>
<td>
<?php echo date("Y-m-d  H:i:s", time()); ?>

</td>
</tr>
<tr class="active">
<td align="right" width="50%">
<?php echo \$lang_your_ip." : "; ?>
</td>
<td>
<?php echo \$ip; ?>
</td>
</tr>
</tbody>
</table>
</div>``````
ผลที่ได้ Error อะครับ ไม่ทราบว่าเกิดเพราะอะไรครับ
q2.jpg (45.19 KiB) Viewed 327 times

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

Posted: 21/09/2019 3:49 pm
ดู code ที่มันเเจ้ง ตามบรรทัด 250 259

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

Posted: 21/09/2019 4:22 pm
thatsawan wrote:ดู code ที่มันเเจ้ง ตามบรรทัด 250 259
แก้แล้ว error อีกบรรทัดครับ Notice: Array to string conversion in D:\xampp\htdocs\joomla_testing\tools\exchange_rate\index.php on line 260
Array บาทไทย(THB)
q5.jpg (29.54 KiB) Viewed 310 times

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'];
//เซตค่าสมมตื
\$a_currencies['บาทไทย(THB)']=1.00;
\$a_currencies['ดอลล่าห์สหัฐ(USD)']=30.00;

//

} if (\$list_box_a == 'บาทไทย(THB)') {
\$value = \$a_currencies[\$list_box_b] / \$a_currencies[\$list_box_a];

} else if (\$list_box_a == 'ดอลล่าห์สหัฐ(USD)') {
\$value = \$text_box * \$a_currencies[\$list_box_a];

} else {
}

date_default_timezone_set("Asia/Bangkok");
\$datetime = time();
\$date = date("Y-m-d  H:i:s", time());
?>
<div align="center">
<h3><?php echo \$lang_userinformation;?></h3>
<table class="table">
<tbody>

<!--  TEST   -->
<!--  ชื่อ ผู้ใช้้งาน   -->
<tr class="warning">
<td align="right" width="50%">
<?php echo "ชื่อ : "; ?>
</td>
<td>
<?php echo \$name ?>
</td>
</tr>
<!--  สกุุลเงินที่เลือก  -->
<tr class="active">

<tr class="warning">
<td align="right" width="50%">
<?php echo "\$lang_from_currency :"; ?>
</td>
<td>
<?php echo \$text_box . "   " . \$list_box_a; ?>
</td>

<!--  สกุลเงินที่แปลง   -->
<tr class="warning">
<td align="right" width="50%">
<?php echo  " สกุลเงินทีได้ :"; ?>
</td>
<td>
<?php echo \$value. "   " . \$list_box_b; ?>  //Error บรรทัดนี้แทนครับ
</td>
</tr>``````
error บรรทัดนี้ครับ

Code: Select all

``<?php echo \$value. "   " . \$list_box_b; ?>``