โค้ด htmlSQL 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()
โค้ด: เลือกทั้งหมด
<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;">
<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>
โค้ด: เลือกทั้งหมด
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,
));
}
โค้ด: เลือกทั้งหมด
// ฟังก์ชันต่าง ๆ
//หน่วยต่าง ๆ เป็นตารางเมตร
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 ;
}