สอบถามเรื่องฟังก์ชันให้ตัวย่อให้แปลงหน่วย

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

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

ภาพประจำตัวสมาชิก
Thanapoom1514
PHP VIP Members
PHP VIP Members
โพสต์: 4329
ลงทะเบียนเมื่อ: 04/07/2022 9:46 am

สอบถามเรื่องฟังก์ชันให้ตัวย่อให้แปลงหน่วย

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

สอบถามเรื่องฟังก์ชันให้ตัวย่อให้แปลงหน่วยครับ ผมสร้างฟังก์ชัน unit ให้รับ $unit_area และใช้ switch สร้างเงื่อนไขตัวย่อ ตัวย่อถ้าตรงกับเงื่อนไขให้เก็บ $unit ให้แสดงที่หน้า html ครับ แต่ขึ้น error ครับ เป็นเพราะอะไรหรอครับ
[phpBB Debug] PHP Warning: in file [ROOT]/planting_tool.php on line 908: Undefined variable $m2
[phpBB Debug] PHP Warning: in file [ROOT]/planting_tool.php on line 908: Undefined variable $m2
php

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

$m2 = $user->lang['UNIT_SQUARE_METER'];
$km2 = $user->lang['UNIT_SQUARE_KILOMETER'];
$ha2 = $user->lang['UNIT_SQUARE_HECTOMER'];
$dam2 = $user->lang['UNIT_SQUARE_DECAMETER'];
$dm2 = $user->lang['UNIT_SQUARE_DECIMETER'];
$cm2 = $user->lang['UNIT_SQUARE_CENTIMETER'];
$mm2 = $user->lang['UNIT_SQUARE_MILLIMETER'];
$sq_wah =  $user->lang['UNIT_SQAURE_WA'];
$yd2 = $user->lang['UNIT_SQAURE_YARD'];
$rai = $user->lang['UNIT_RAI'];
$ngan = $user->lang['UNIT_NGAN'];
$yd = $user->lang['UNIT_YARD'];

function unit($unit_area){
    switch($unit_area){
        case "m^2" : $unit = $m2;
            break;
        case "km^2" :$unit= $km2;
            break;
        case "ha^2" :$unit = $ha2;
            break;
        case "dam^2" :$unit = $dam2;
            break;
        case "dm^2" :$unit = $dm2;
            break;
        case "cm^2" :$unit = $cm2;
            break;
        case "mm^2" :$unit = $mm2;
            break;
        case "SQ. WAH" :$unit = $sq_wah;
            break;
        case "yd^2" :$unit = $yd2;
            break;
        case "Rai" :$unit = $rai;
            break;
        case "Ngan" :$unit = $ngan;
            break;
        case "yd" : $unit = $yd;
            break;
    
    } }; 
:gfb:
ภาพประจำตัวสมาชิก
chakrit
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 788
ลงทะเบียนเมื่อ: 27/06/2022 9:32 am

Re: สอบถามเรื่องฟังก์ชันให้ตัวย่อให้แปลงหน่วย

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

Thanapoom1514 เขียน: 15/08/2022 10:32 am สอบถามเรื่องฟังก์ชันให้ตัวย่อให้แปลงหน่วยครับ ผมสร้างฟังก์ชัน unit ให้รับ $unit_area และใช้ switch สร้างเงื่อนไขตัวย่อ ตัวย่อถ้าตรงกับเงื่อนไขให้เก็บ $unit ให้แสดงที่หน้า html ครับ แต่ขึ้น error ครับ เป็นเพราะอะไรหรอครับ
[phpBB Debug] PHP Warning: in file [ROOT]/planting_tool.php on line 908: Undefined variable $m2
[phpBB Debug] PHP Warning: in file [ROOT]/planting_tool.php on line 908: Undefined variable $m2
php

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

$m2 = $user->lang['UNIT_SQUARE_METER'];
$km2 = $user->lang['UNIT_SQUARE_KILOMETER'];
$ha2 = $user->lang['UNIT_SQUARE_HECTOMER'];
$dam2 = $user->lang['UNIT_SQUARE_DECAMETER'];
$dm2 = $user->lang['UNIT_SQUARE_DECIMETER'];
$cm2 = $user->lang['UNIT_SQUARE_CENTIMETER'];
$mm2 = $user->lang['UNIT_SQUARE_MILLIMETER'];
$sq_wah =  $user->lang['UNIT_SQAURE_WA'];
$yd2 = $user->lang['UNIT_SQAURE_YARD'];
$rai = $user->lang['UNIT_RAI'];
$ngan = $user->lang['UNIT_NGAN'];
$yd = $user->lang['UNIT_YARD'];

function unit($unit_area){
    switch($unit_area){
        case "m^2" : $unit = $m2;
            break;
        case "km^2" :$unit= $km2;
            break;
        case "ha^2" :$unit = $ha2;
            break;
        case "dam^2" :$unit = $dam2;
            break;
        case "dm^2" :$unit = $dm2;
            break;
        case "cm^2" :$unit = $cm2;
            break;
        case "mm^2" :$unit = $mm2;
            break;
        case "SQ. WAH" :$unit = $sq_wah;
            break;
        case "yd^2" :$unit = $yd2;
            break;
        case "Rai" :$unit = $rai;
            break;
        case "Ngan" :$unit = $ngan;
            break;
        case "yd" : $unit = $yd;
            break;
    
    } }; 
จะเก็บหน่วยใน database และแสดงผล ให้ใช้ตัวอักษรย่อ เช่น m, km แล้วค่อยนำตัวอักษรย่อมาแปลง
ตัวอย่างโค้ด

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

function checkunit($unit , $lang)
{
    $return = " ";
    if ($unit == 'm') {
        $return =  $lang['UNIT_SQUARE_METER'];
    } elseif ($TEMPC_UNIT == 'km') {
        $return =  $lang['UNIT_SQUARE_KILOMETER'];
    } 
    return $return;
}
//การเรียกใช้งาน
checkunit($unit , $user->lang)
ทำแบบนี้จะได้ทั้งภาษาไทยและอังกฤษ
ภาพประจำตัวสมาชิก
Thanapoom1514
PHP VIP Members
PHP VIP Members
โพสต์: 4329
ลงทะเบียนเมื่อ: 04/07/2022 9:46 am

Re: สอบถามเรื่องฟังก์ชันให้ตัวย่อให้แปลงหน่วย

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

ได้แล้วครับ

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

//ตัวย่อเป็นหน่วย
function checkunit($unit, $lang){
    $return = "";
    if($unit == "m2"){
        $return =  $lang['UNIT_SQUARE_METER'];

    }elseif($unit =="km2"){
        $return =  $lang['UNIT_SQUARE_KILOMETER'];

    }elseif($unit =="ha2"){
        $return =  $lang['UNIT_SQUARE_HECTOMER'];

    }elseif($unit =="dam2"){
        $return =  $lang['UNIT_SQUARE_DECAMETER'];

    }elseif($unit =="dm2"){
        $return =  $lang['UNIT_SQUARE_DECIMETER'];

    }elseif($unit =="cm2"){
        $return =  $lang['UNIT_SQUARE_CENTIMETER'];

    }elseif($unit =="mm2"){
        $return =  $lang['UNIT_SQUARE_MILLIMETER'];

    }elseif($unit =="SQ. WAH"){
        $return =  $lang['UNIT_SQAURE_WA'];

    }elseif($unit =="yd2"){
        $return =  $lang['UNIT_SQAURE_YARD'];

    }elseif($unit =="Rai"){
        $return =  $lang['UNIT_RAI'];

    }elseif($unit =="Ngan"){
        $return =  $lang['UNIT_NGAN'];

    }elseif($unit =="yd"){
        $return =  $lang['UNIT_SQUARE_KILOMETER'];

    }
    return $return ;

    } 
:gfb:
ตอบกลับโพส

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

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