สอบถาม error ตอน INSERT INTO

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

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

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

สอบถาม error ตอน INSERT INTO

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

สอบถามครับ ผมกรอกข้อมูลคำนวณแล้ว INSERT INTO ไป database ครับแล้วมันขึ้น error เป็นเพราะอะไรหรอครับ
SQL ERROR [ mysqli ]

Out of range value for column 'area_before_total' at row 1 [1264]

SQL

INSERT INTO tools_planting_area_calculator (area_user_name, area_before_total, area_before_unit, area_after_total, area_after_unit, area_plant_type, area_plant_spacing, area_total_plant, area_underscore_create_date, area_user_ip) VALUES ('MT56', 4000000, 'km2', 4000000, 'm2', '2', '10.00000', 400000, 1660703477, '::1')

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 1023
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 202
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 345
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/planting_tool.php
LINE: 532
CALL: phpbb\db\driver\factory->sql_query()
โค้ด html

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

 <form id="ucp" name="form1" method="post" action="{U_AREA_FROM}"
                onSubmit="JavaScript:return fncSubmit();">
                <input type="hidden" name="action" value="save">
                <input type="hidden" name="save" value="area">
                <div class="panel" id="main-menu">
                    <div class="inner">
                        <h2> {L_NAME_PROGRAM_AREA} </h2>
                        
                                <div class="flex-container-groud">
                                    <center>
                                    <div class="grid-container-center-input">
                                        
                                            <span class="input-groud">{L_USERNAME_PROGRAM_AREA} </span>
                                    
                                        <!-- IF S_REGISTERED_USER -->
                                        <input type="text" class="input-groud-complete" placeholder="{USER_LOGIN}"
                                        name="name" size="20" maxlength="100"   value="{USER_LOGIN}">
                                    <!-- ELSE -->
                                        <input type="text" class="input-groud-complete" placeholder="{L_USERNAME_AREA}"
                                            name="name" size="20" maxlength="100"  value="">
                                            <!-- ENDIF -->
                                        
                                    </div>
                                    
                                    <div class="grid-container-center">
                                        
                                            <input type="radio" name="calculate_area" value="1" onclick="if(this.checked){this.form.width_area.disabled=false; this.form.length_area.disabled=false; this.form.total_area.disabled=true; this.form.unit_area_2.disabled=true; this.form.calculate_area_2.checked=false;}" 
                                            style="padding: 6px 12px;" checked="checked"> <label class="input-groud">{L_CALCULATE_AREA_WIDTH}</label>
                                            <input id="saralym" type="number" class="input-groud-complete" style="text-align:right;  width: 100%;
                                            margin-right: 6.5%; margin-left: 18%;  " placeholder="0.0" min="1" step="0.01" name="width_area"  value="" >
                                            * 
                                            <label class="input-groud">{L_CALCULATE_AREA_LENGTH}</label>
                                            <input id="saralym" type="number" class="input-groud-complete" style="text-align:right;  width: 100%; " placeholder="0.0"step="0.01" min="1" name="length_area"   value="" >
                                            
                                        
                                    </div>

                                    <div class="grid-container-center-input">
                                        
                                            <span class="input-groud">{L_CONVERTED_AREA_UNIT}</span>
                                                    <select name="unit_area_1" id="" >
                                                        <option value="m2" selected>{L_UNIT_SQUARE_METER}</option>
                                                        <option value="km2">{L_UNIT_SQUARE_KILOMETER}</option>
                                                        <option value="ha2">{L_UNIT_SQUARE_HECTOMER}</option>
                                                        <option value="dam2">{L_UNIT_SQUARE_DECAMETER}</option>
                                                        <option value="dm2">{L_UNIT_SQUARE_DECIMETER}</option>
                                                        <option value="cm2">{L_UNIT_SQUARE_CENTIMETER}</option>
                                                        <option value="mm2">{L_UNIT_SQUARE_MILLIMETER}</option>
                                                        <option value="SQ. WAH">{L_UNIT_SQAURE_WA}</option>
                                                        <option value="yd2">{L_UNIT_SQAURE_YARD}</option>
                                                        <option value="Rai">{L_UNIT_RAI}</option>
                                                        <option value="Ngan">{L_UNIT_NGAN}</option>
                                                        <option value="yd">{L_UNIT_YARD}</option>
                                                    </select>
                                        
                                    </div>
                                    <div class="grid-container-center-area">   
                                       
                                            <input type="radio" name="calculate_area" value="2" style="padding: 6px 12px;" onclick="if(this.checked){this.form.width_area.disabled=true; this.form.length_area.disabled=true; this.form.total_area.disabled=false; this.form.unit_area_2.disabled=false;this.form.calculate_area_1.checked=false;}">
                                            <label class="input-groud" >{L_CALCULATE_AREA_TOTAL_AREA}</label>
                                            <input id="saralym" type="number" class="input-groud-complete" placeholder="0.0" min="1" step="0.01" style="text-align:right;" name="total_area" size="10" maxlength="100" value="" disabled="disabled">
                                                <select name="unit_area_2" disabled="disabled" >
                                                    <option value="m2" selected>{L_UNIT_SQUARE_METER}</option>
                                                    <option value="km2">{L_UNIT_SQUARE_KILOMETER}</option>
                                                    <option value="ha2">{L_UNIT_SQUARE_HECTOMER}</option>
                                                    <option value="dam2">{L_UNIT_SQUARE_DECAMETER}</option>
                                                    <option value="dm2">{L_UNIT_SQUARE_DECIMETER}</option>
                                                    <option value="cm2">{L_UNIT_SQUARE_CENTIMETER}</option>
                                                    <option value="mm2">{L_UNIT_SQUARE_MILLIMETER}</option>
                                                    <option value="SQ. WAH">{L_UNIT_SQAURE_WA}</option>
                                                    <option value="yd2">{L_UNIT_SQAURE_YARD}</option>
                                                    <option value="Rai">{L_UNIT_RAI}</option>
                                                    <option value="Ngan">{L_UNIT_NGAN}</option>
                                                    <option value="yd">{L_UNIT_YARD}</option>
                                                </select>
                                        
                                    </div>
                                    <div class="grid-container-center-input">
                                        
                                            <span class="input-groud">{L_PLANT_TYPE}</span>
                                            <select name="plant_type" >
                                           <!-- BEGIN loop_plant -->
                                                <option value="{loop_plant.VAR1}">{loop_plant.VAR2}</option>
                                                
                                             <!-- END loop_plant -->   
                                            </select>
                                        
                                    </div>
                                    <div class="grid-container-checkbox">
                                            <label style="padding: 6px 3px;">{L_SAVE_DATA_AREA} </label>
                                            <label class="switch switch-left-right" style="margin-left: 15%;">
                                                <input class="switch-input" type="checkbox"  name="save_area"
                                                    value="1"  checked/>
                                                <span class="switch-label" data-on="{L_SWITCH_LABEL_YES}" data-off="{L_SWITCH_LABEL_NO}"></span>
                                                <span class="switch-handle"></span>
                                            </label>                                    
                                    </div>
                                </center>
                                        <div>
                                            <center>
                                                <!-- IF !S_REGISTERED_USER -->
                                                <div class="g-recaptcha" data-sitekey="6LdxSkYUAAAAAIj9KvyXh_zZhVpy79nnWmphVF-p">
                                                </div>
                                                <h5>{L_EXAMINE_AREA}</h5>
                                                  <!-- ENDIF -->
                
                                              
                                            </center>
                                            <center> <br> <input  class="linkback" type="submit" name="submit" value=" {L_CALCULATE_AREA} " class="button1" style="background: #55a630;"> &nbsp;

                                                <input class="linkback" type="reset" name="submit" value=" {L_CLEAR_AREA} " class="button1" style="background: #ec971f;"> 
                                            <!-- IF USER_LOGIN &&  S_REGISTERED_USER-->
                                                <a href="./planting_tool.php?action=admin" style="margin-left: 10px;">{L_PLANT_SPECIES_MANAGEMENT}</a>
                                            <!-- ENDIF -->
                                            </center>
                                        <center> <h4 style="margin-top:1.5vh;  float: center;">{VERSION}</h4></center>
                
                                        </div>
                                </div>
                            


                               


                    </div>
                </div>
            </form>
โค้ด php

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

if($calculate_area == 2 && $save_area != 0){
        //คำนวณ  
                  //หน่วยต่าง ๆ เป็นตารางเมตร
                  switch($unit_area_2){
                    case "m2" : $r_area = $total_area;
                        break;
                    case "km2" : $r_area = 1000000 * $total_area;
                        break;
                    case "ha2" : $r_area = 10000 * $total_area;
                        break;
                    case "dam2" : $r_area = 100  * $total_area;
                        break;
                    case "dm2" : $r_area = 0.01 * $total_area;
                        break;
                    case "cm2" : $r_area = 0.0001  * $total_area;
                        break;
                    case "mm2" : $r_area = 0.000001 * $total_area;
                        break;
                    case "SQ. WAH" : $r_area = 4 * $total_area;
                        break;
                    case "yd2" : $r_area = 0.83612736  * $total_area;
                        break;
                    case "Rai" : $r_area = 1600 * $total_area;
                        break;
                    case "Ngan" : $r_area = 400 * $total_area;
                        break;
                    case "yd" : $r_area = 1600 * $total_area;
                        break;

                } ;
           
                //คำนวณแปลงหน่วย
            switch($unit_area_1){
            case "m2" : $area_r = $r_area;
                break;
            case "km2" : $area_r = 0.000001 * $r_area;
                break;
            case "ha2" : $area_r = 0.0001 * $r_area;
                break;
            case "dam2" : $area_r = 0.01  * $r_area;
                break;
            case "dm2" : $area_r = 100 * $r_area;
                break;
            case "cm2" : $area_r = 10000 * $r_area;
                break;
            case "mm2" : $area_r = 1000000 * $r_area;
                break;
            case "SQ. WAH" : $area_r = 0.25 * $r_area;
                break;
            case "yd2" : $area_r = 1.196 * $r_area;
                break;
            case "Rai" : $area_r = 0.000625 * $r_area;
                break;
            case "Ngan" : $area_r = 0.0025 * $r_area;
                break;
            case "yd" : $area_r = 1.21 * $r_area;
                break;

        } ;

    
       
        $a = unit_meter($unit_area_2, $total_area);

                $sql_array_plant = array(
                    'id_plant' => $plant_type,
                );
                $sql_plant = 'SELECT plant_type, plant_spacing
                FROM ' . 'tools_plant_type' . ' 
                WHERE id_plant ='.$plant_type;
            
                $result = $db->sql_query($sql_plant);
                $row = $db->sql_fetchrow($result);
                
                $sql_arr = array(
                    'area_user_name' => $name,
                    'area_before_total' => $a,
                    'area_before_unit' => $unit_area_2,
                    'area_after_total' => $area_r,
                    'area_after_unit' => $unit_area_1,
                    'area_plant_type' => $plant_type,
                    'area_plant_spacing' => $row['plant_spacing'],
                    'area_total_plant' =>  $a / $row['plant_spacing'] ,
                    'area_underscore_create_date' => time(),
                    'area_user_ip' => $ip,
                );
            
               // print_r($sql_arr);
                
                
            $sql = 'INSERT INTO ' . 'tools_planting_area_calculator' . ' ' . $db->sql_build_array('INSERT', $sql_arr);
            $result = $db->sql_query($sql);

                $unit_m2 = $user->lang['UNIT_SQUARE_METER'];
               
                $template->assign_vars(
                    array(
                        'N' => $name,
                        'BEFORE_TOTAL' => $total_area,
                        'BEFORE_UNIT' => checkunit($unit_area_2, $user->lang),
                        'AFTER_TOTAL' => number_format($r_area, 2),
                        'AFTER_UNIT' => checkunit($unit_area_1, $user->lang),
                        'PLANT_TYPE' => $row['plant_type'],
                        'PLANT_SPACING' => number_format($row['plant_spacing'], 2 ),
                        'TOTAL_PLANT' => number_format($a  / $row['plant_spacing']),
                        'PLANT_CREATE_DATE' => $user->format_date(time()),
                    ));
                    
                    //ตัวกำหนดส่งไฟล์ไปหน้าไหน
                    $template->set_filenames(array(
                        'body' => 'tools_planting_area_calculator.html',
                        )
                    );
    
                    $template->assign_vars(array(
                        'ACTION_SHOW' => 'show' ,
                    ));

                    
                    $page_title = $user->lang['CALCULATION_RESULT_AREA'];
                    $template->assign_block_vars('navlinks', array(
                        'FORUM_NAME' => $page_title,
                        
                    ));
        
    }
โค้ดฟังก์ชัน php

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

// ฟังก์ชันต่าง ๆ
//หน่วยต่าง ๆ เป็นตารางเมตร
function unit_meter($unit,  $areas){
    $r_area="";
    if($unit == "m2"){
        $r_area = $areas;
    }elseif($unit =="km2"){
        $r_area = 1000000 *  $areas;

    }elseif($unit =="ha2"){
        $r_area = 10000 *  $areas;

    }elseif($unit =="dam2"){
        $r_area = 100  *  $areas;

    }elseif($unit =="dm2"){
        $r_area = 0.01 *  $areas;

    }elseif($unit =="cm2"){
        $r_area = 0.0001  *  $areas;

    }elseif($unit =="mm2"){
        $r_area = 0.000001 *  $areas;

    }elseif($unit =="SQ. WAH"){
        $r_area = 4 *  $areas;

    }elseif($unit =="yd2"){
        $r_area = 0.83612736  *  $areas;

    }elseif($unit =="Rai"){
        $r_area = 1600 *  $areas;

    }elseif($unit =="Ngan"){
        $r_area = 400 *  $areas;

    }elseif($unit =="yd"){
        $r_area = 1600 *  $areas;

    }
    return  $r_area ;

    } 


//คำนวณกว้าง*ยาว
function unit_wl($unit, $areas){
    if($unit == "m2"){
        $r_area = $areas;
    }elseif($unit =="km2"){
        $r_area = 0.000001 * $areas;

    }elseif($unit =="ha2"){
        $r_area = 0.0001 * $areas;

    }elseif($unit =="dam2"){
        $r_area = 0.01  * $areas;

    }elseif($unit =="dm2"){
        $r_area = 100 * $areas;

    }elseif($unit =="cm2"){
        $r_area = 10000 * $areas;

    }elseif($unit =="mm2"){
        $r_area = 1000000 * $areas;

    }elseif($unit =="SQ. WAH"){
        $r_area = 0.25 * $areas;

    }elseif($unit =="yd2"){
        $r_area = 1.196 * $areas;

    }elseif($unit =="Rai"){
        $r_area = 0.000625 * $areas;

    }elseif($unit =="Ngan"){
        $r_area = 0.0025 * $areas;

    }elseif($unit =="yd"){
        $r_area = 1.21 * $areas;

    }
    return  $r_area ;

    } 



//ตัวย่อเป็นหน่วย
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:
ภาพประจำตัวสมาชิก
eange08
PHP VIP Members
PHP VIP Members
โพสต์: 16437
ลงทะเบียนเมื่อ: 22/12/2020 10:09 am

Re: สอบถาม error ตอน INSERT INTO

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

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

Re: สอบถาม error ตอน INSERT INTO

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

eange08 เขียน: 17/08/2022 9:47 am ฟิล area_before_total เก็บเป็น type อะไรค่ะ
type decimal(10,5) ครับ
:gfb:
flook
PHP VIP Members
PHP VIP Members
โพสต์: 3751
ลงทะเบียนเมื่อ: 06/06/2022 9:43 am

Re: สอบถาม error ตอน INSERT INTO

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

Thanapoom1514 เขียน: 17/08/2022 9:37 am สอบถามครับ ผมกรอกข้อมูลคำนวณแล้ว INSERT INTO ไป database ครับแล้วมันขึ้น error เป็นเพราะอะไรหรอครับ
SQL ERROR [ mysqli ]

Out of range value for column 'area_before_total' at row 1 [1264]

SQL

INSERT INTO tools_planting_area_calculator (area_user_name, area_before_total, area_before_unit, area_after_total, area_after_unit, area_plant_type, area_plant_spacing, area_total_plant, area_underscore_create_date, area_user_ip) VALUES ('MT56', 4000000, 'km2', 4000000, 'm2', '2', '10.00000', 400000, 1660703477, '::1')

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 1023
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 202
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 345
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/planting_tool.php
LINE: 532
CALL: phpbb\db\driver\factory->sql_query()
โค้ด html

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

 <form id="ucp" name="form1" method="post" action="{U_AREA_FROM}"
                onSubmit="JavaScript:return fncSubmit();">
                <input type="hidden" name="action" value="save">
                <input type="hidden" name="save" value="area">
                <div class="panel" id="main-menu">
                    <div class="inner">
                        <h2> {L_NAME_PROGRAM_AREA} </h2>
                        
                                <div class="flex-container-groud">
                                    <center>
                                    <div class="grid-container-center-input">
                                        
                                            <span class="input-groud">{L_USERNAME_PROGRAM_AREA} </span>
                                    
                                        <!-- IF S_REGISTERED_USER -->
                                        <input type="text" class="input-groud-complete" placeholder="{USER_LOGIN}"
                                        name="name" size="20" maxlength="100"   value="{USER_LOGIN}">
                                    <!-- ELSE -->
                                        <input type="text" class="input-groud-complete" placeholder="{L_USERNAME_AREA}"
                                            name="name" size="20" maxlength="100"  value="">
                                            <!-- ENDIF -->
                                        
                                    </div>
                                    
                                    <div class="grid-container-center">
                                        
                                            <input type="radio" name="calculate_area" value="1" onclick="if(this.checked){this.form.width_area.disabled=false; this.form.length_area.disabled=false; this.form.total_area.disabled=true; this.form.unit_area_2.disabled=true; this.form.calculate_area_2.checked=false;}" 
                                            style="padding: 6px 12px;" checked="checked"> <label class="input-groud">{L_CALCULATE_AREA_WIDTH}</label>
                                            <input id="saralym" type="number" class="input-groud-complete" style="text-align:right;  width: 100%;
                                            margin-right: 6.5%; margin-left: 18%;  " placeholder="0.0" min="1" step="0.01" name="width_area"  value="" >
                                            * 
                                            <label class="input-groud">{L_CALCULATE_AREA_LENGTH}</label>
                                            <input id="saralym" type="number" class="input-groud-complete" style="text-align:right;  width: 100%; " placeholder="0.0"step="0.01" min="1" name="length_area"   value="" >
                                            
                                        
                                    </div>

                                    <div class="grid-container-center-input">
                                        
                                            <span class="input-groud">{L_CONVERTED_AREA_UNIT}</span>
                                                    <select name="unit_area_1" id="" >
                                                        <option value="m2" selected>{L_UNIT_SQUARE_METER}</option>
                                                        <option value="km2">{L_UNIT_SQUARE_KILOMETER}</option>
                                                        <option value="ha2">{L_UNIT_SQUARE_HECTOMER}</option>
                                                        <option value="dam2">{L_UNIT_SQUARE_DECAMETER}</option>
                                                        <option value="dm2">{L_UNIT_SQUARE_DECIMETER}</option>
                                                        <option value="cm2">{L_UNIT_SQUARE_CENTIMETER}</option>
                                                        <option value="mm2">{L_UNIT_SQUARE_MILLIMETER}</option>
                                                        <option value="SQ. WAH">{L_UNIT_SQAURE_WA}</option>
                                                        <option value="yd2">{L_UNIT_SQAURE_YARD}</option>
                                                        <option value="Rai">{L_UNIT_RAI}</option>
                                                        <option value="Ngan">{L_UNIT_NGAN}</option>
                                                        <option value="yd">{L_UNIT_YARD}</option>
                                                    </select>
                                        
                                    </div>
                                    <div class="grid-container-center-area">   
                                       
                                            <input type="radio" name="calculate_area" value="2" style="padding: 6px 12px;" onclick="if(this.checked){this.form.width_area.disabled=true; this.form.length_area.disabled=true; this.form.total_area.disabled=false; this.form.unit_area_2.disabled=false;this.form.calculate_area_1.checked=false;}">
                                            <label class="input-groud" >{L_CALCULATE_AREA_TOTAL_AREA}</label>
                                            <input id="saralym" type="number" class="input-groud-complete" placeholder="0.0" min="1" step="0.01" style="text-align:right;" name="total_area" size="10" maxlength="100" value="" disabled="disabled">
                                                <select name="unit_area_2" disabled="disabled" >
                                                    <option value="m2" selected>{L_UNIT_SQUARE_METER}</option>
                                                    <option value="km2">{L_UNIT_SQUARE_KILOMETER}</option>
                                                    <option value="ha2">{L_UNIT_SQUARE_HECTOMER}</option>
                                                    <option value="dam2">{L_UNIT_SQUARE_DECAMETER}</option>
                                                    <option value="dm2">{L_UNIT_SQUARE_DECIMETER}</option>
                                                    <option value="cm2">{L_UNIT_SQUARE_CENTIMETER}</option>
                                                    <option value="mm2">{L_UNIT_SQUARE_MILLIMETER}</option>
                                                    <option value="SQ. WAH">{L_UNIT_SQAURE_WA}</option>
                                                    <option value="yd2">{L_UNIT_SQAURE_YARD}</option>
                                                    <option value="Rai">{L_UNIT_RAI}</option>
                                                    <option value="Ngan">{L_UNIT_NGAN}</option>
                                                    <option value="yd">{L_UNIT_YARD}</option>
                                                </select>
                                        
                                    </div>
                                    <div class="grid-container-center-input">
                                        
                                            <span class="input-groud">{L_PLANT_TYPE}</span>
                                            <select name="plant_type" >
                                           <!-- BEGIN loop_plant -->
                                                <option value="{loop_plant.VAR1}">{loop_plant.VAR2}</option>
                                                
                                             <!-- END loop_plant -->   
                                            </select>
                                        
                                    </div>
                                    <div class="grid-container-checkbox">
                                            <label style="padding: 6px 3px;">{L_SAVE_DATA_AREA} </label>
                                            <label class="switch switch-left-right" style="margin-left: 15%;">
                                                <input class="switch-input" type="checkbox"  name="save_area"
                                                    value="1"  checked/>
                                                <span class="switch-label" data-on="{L_SWITCH_LABEL_YES}" data-off="{L_SWITCH_LABEL_NO}"></span>
                                                <span class="switch-handle"></span>
                                            </label>                                    
                                    </div>
                                </center>
                                        <div>
                                            <center>
                                                <!-- IF !S_REGISTERED_USER -->
                                                <div class="g-recaptcha" data-sitekey="6LdxSkYUAAAAAIj9KvyXh_zZhVpy79nnWmphVF-p">
                                                </div>
                                                <h5>{L_EXAMINE_AREA}</h5>
                                                  <!-- ENDIF -->
                
                                              
                                            </center>
                                            <center> <br> <input  class="linkback" type="submit" name="submit" value=" {L_CALCULATE_AREA} " class="button1" style="background: #55a630;"> &nbsp;

                                                <input class="linkback" type="reset" name="submit" value=" {L_CLEAR_AREA} " class="button1" style="background: #ec971f;"> 
                                            <!-- IF USER_LOGIN &&  S_REGISTERED_USER-->
                                                <a href="./planting_tool.php?action=admin" style="margin-left: 10px;">{L_PLANT_SPECIES_MANAGEMENT}</a>
                                            <!-- ENDIF -->
                                            </center>
                                        <center> <h4 style="margin-top:1.5vh;  float: center;">{VERSION}</h4></center>
                
                                        </div>
                                </div>
                            


                               


                    </div>
                </div>
            </form>
โค้ด php

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

if($calculate_area == 2 && $save_area != 0){
        //คำนวณ  
                  //หน่วยต่าง ๆ เป็นตารางเมตร
                  switch($unit_area_2){
                    case "m2" : $r_area = $total_area;
                        break;
                    case "km2" : $r_area = 1000000 * $total_area;
                        break;
                    case "ha2" : $r_area = 10000 * $total_area;
                        break;
                    case "dam2" : $r_area = 100  * $total_area;
                        break;
                    case "dm2" : $r_area = 0.01 * $total_area;
                        break;
                    case "cm2" : $r_area = 0.0001  * $total_area;
                        break;
                    case "mm2" : $r_area = 0.000001 * $total_area;
                        break;
                    case "SQ. WAH" : $r_area = 4 * $total_area;
                        break;
                    case "yd2" : $r_area = 0.83612736  * $total_area;
                        break;
                    case "Rai" : $r_area = 1600 * $total_area;
                        break;
                    case "Ngan" : $r_area = 400 * $total_area;
                        break;
                    case "yd" : $r_area = 1600 * $total_area;
                        break;

                } ;
           
                //คำนวณแปลงหน่วย
            switch($unit_area_1){
            case "m2" : $area_r = $r_area;
                break;
            case "km2" : $area_r = 0.000001 * $r_area;
                break;
            case "ha2" : $area_r = 0.0001 * $r_area;
                break;
            case "dam2" : $area_r = 0.01  * $r_area;
                break;
            case "dm2" : $area_r = 100 * $r_area;
                break;
            case "cm2" : $area_r = 10000 * $r_area;
                break;
            case "mm2" : $area_r = 1000000 * $r_area;
                break;
            case "SQ. WAH" : $area_r = 0.25 * $r_area;
                break;
            case "yd2" : $area_r = 1.196 * $r_area;
                break;
            case "Rai" : $area_r = 0.000625 * $r_area;
                break;
            case "Ngan" : $area_r = 0.0025 * $r_area;
                break;
            case "yd" : $area_r = 1.21 * $r_area;
                break;

        } ;

    
       
        $a = unit_meter($unit_area_2, $total_area);

                $sql_array_plant = array(
                    'id_plant' => $plant_type,
                );
                $sql_plant = 'SELECT plant_type, plant_spacing
                FROM ' . 'tools_plant_type' . ' 
                WHERE id_plant ='.$plant_type;
            
                $result = $db->sql_query($sql_plant);
                $row = $db->sql_fetchrow($result);
                
                $sql_arr = array(
                    'area_user_name' => $name,
                    'area_before_total' => $a,
                    'area_before_unit' => $unit_area_2,
                    'area_after_total' => $area_r,
                    'area_after_unit' => $unit_area_1,
                    'area_plant_type' => $plant_type,
                    'area_plant_spacing' => $row['plant_spacing'],
                    'area_total_plant' =>  $a / $row['plant_spacing'] ,
                    'area_underscore_create_date' => time(),
                    'area_user_ip' => $ip,
                );
            
               // print_r($sql_arr);
                
                
            $sql = 'INSERT INTO ' . 'tools_planting_area_calculator' . ' ' . $db->sql_build_array('INSERT', $sql_arr);
            $result = $db->sql_query($sql);

                $unit_m2 = $user->lang['UNIT_SQUARE_METER'];
               
                $template->assign_vars(
                    array(
                        'N' => $name,
                        'BEFORE_TOTAL' => $total_area,
                        'BEFORE_UNIT' => checkunit($unit_area_2, $user->lang),
                        'AFTER_TOTAL' => number_format($r_area, 2),
                        'AFTER_UNIT' => checkunit($unit_area_1, $user->lang),
                        'PLANT_TYPE' => $row['plant_type'],
                        'PLANT_SPACING' => number_format($row['plant_spacing'], 2 ),
                        'TOTAL_PLANT' => number_format($a  / $row['plant_spacing']),
                        'PLANT_CREATE_DATE' => $user->format_date(time()),
                    ));
                    
                    //ตัวกำหนดส่งไฟล์ไปหน้าไหน
                    $template->set_filenames(array(
                        'body' => 'tools_planting_area_calculator.html',
                        )
                    );
    
                    $template->assign_vars(array(
                        'ACTION_SHOW' => 'show' ,
                    ));

                    
                    $page_title = $user->lang['CALCULATION_RESULT_AREA'];
                    $template->assign_block_vars('navlinks', array(
                        'FORUM_NAME' => $page_title,
                        
                    ));
        
    }
โค้ดฟังก์ชัน php

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

// ฟังก์ชันต่าง ๆ
//หน่วยต่าง ๆ เป็นตารางเมตร
function unit_meter($unit,  $areas){
    $r_area="";
    if($unit == "m2"){
        $r_area = $areas;
    }elseif($unit =="km2"){
        $r_area = 1000000 *  $areas;

    }elseif($unit =="ha2"){
        $r_area = 10000 *  $areas;

    }elseif($unit =="dam2"){
        $r_area = 100  *  $areas;

    }elseif($unit =="dm2"){
        $r_area = 0.01 *  $areas;

    }elseif($unit =="cm2"){
        $r_area = 0.0001  *  $areas;

    }elseif($unit =="mm2"){
        $r_area = 0.000001 *  $areas;

    }elseif($unit =="SQ. WAH"){
        $r_area = 4 *  $areas;

    }elseif($unit =="yd2"){
        $r_area = 0.83612736  *  $areas;

    }elseif($unit =="Rai"){
        $r_area = 1600 *  $areas;

    }elseif($unit =="Ngan"){
        $r_area = 400 *  $areas;

    }elseif($unit =="yd"){
        $r_area = 1600 *  $areas;

    }
    return  $r_area ;

    } 


//คำนวณกว้าง*ยาว
function unit_wl($unit, $areas){
    if($unit == "m2"){
        $r_area = $areas;
    }elseif($unit =="km2"){
        $r_area = 0.000001 * $areas;

    }elseif($unit =="ha2"){
        $r_area = 0.0001 * $areas;

    }elseif($unit =="dam2"){
        $r_area = 0.01  * $areas;

    }elseif($unit =="dm2"){
        $r_area = 100 * $areas;

    }elseif($unit =="cm2"){
        $r_area = 10000 * $areas;

    }elseif($unit =="mm2"){
        $r_area = 1000000 * $areas;

    }elseif($unit =="SQ. WAH"){
        $r_area = 0.25 * $areas;

    }elseif($unit =="yd2"){
        $r_area = 1.196 * $areas;

    }elseif($unit =="Rai"){
        $r_area = 0.000625 * $areas;

    }elseif($unit =="Ngan"){
        $r_area = 0.0025 * $areas;

    }elseif($unit =="yd"){
        $r_area = 1.21 * $areas;

    }
    return  $r_area ;

    } 



//ตัวย่อเป็นหน่วย
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 ;

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

Re: สอบถาม error ตอน INSERT INTO

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

ทำได้แล้วครับ เนื่องจาก input ที่รับค่าได้เกิน decimal(10,5) ของ database ทำให้เกิด error ตามข้างบนครับ
วิธีแก้คือเปลี่ยนค่าขนาดของ Type decimal(10,5) มาเป็น decimal(15,5) หรือ decimal(20,5) ของ Database ครับ เพื่อรับค่าได้มากขึ้นครับ
:gfb:
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

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