|
|
|
ติดปัญหาการบันข้อมูลลง database และการแสดงผลัพธ์โดยไม่ต้องกด submit เมื่อใส่ตัวเลขที่ช่อง input textbox |
|
|
|
|
|
|
|
ติดปัญหาการบันข้อมูลลง database และการแสดงผลัพธ์โดยไม่ต้องกด submit เมื่อใส่ตัวเลขที่ช่อง input textbox
ปัญหา 2 เรื่องช่วยแนะนำแนวทางแก้ไข
1.ใส่ตัวเลขในช่องผลการทดสอบ ต้องกด submit เพื่อคำนวณผลในช่องค่าระดับสมรรถภาพ มีวิธีไหนบ้างที่ใส่ตัวเลขเสร็จแล้วให้แสดงผลลัพธ์ที่ช่องคำนวณผลในช่องค่าระดับสมรรถภาพทันที
2. นำค่าที่กรอกทั้งหมดบันทึกลง database
head]Code (PHP)[/head]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
/// วิ่ง 50 ม.
if($_POST['run_50_m']!="")
{
$result_run_50_m=$_POST['run_50_m'];
if($result_run_50_m<8.07)
{
$result_run_50_m="ดีมาก" and $result_run_50_m1=5 ;
} else
if($result_run_50_m<=8.76 and $result_run_50_m>=8.08 )
{
$result_run_50_m="ดี" and $result_run_50_m1=4;
}else
if($result_run_50_m<=10.15 and $result_run_50_m>=8.77)
{
$result_run_50_m="ปานกลาง" and $result_run_50_m1=3;
}else
if($result_run_50_m<=10.84 and $result_run_50_m>=10.16)
{
$result_run_50_m="ต่ำ" and $result_run_50_m1=2;
}
else
if($$result_run_50_m>=10.85)
{
$result_run_50_m="ต่ำมาก" and $result_run_50_m1=1;
}
}
/// ยืนกระโดดไกล
if($_POST['run_long']!="")
{
$result_run_long=$_POST['run_long'];
if($result_run_long<173)
{
$result_run_long="ดีมาก" and $result_run_long1=5;
} else
if($result_run_long<=172 and $result_run_long>=159 )
{
$result_run_long="ดี" and $result_run_long1=4;
}else
if($result_run_long<=158 and $result_run_long>=130)
{
$result_run_long="ปานกลาง" and $result_run_long1=3;
}else
if($result_run_long<=129 and $result_run_long>=116)
{
$result_run_long="ต่ำ" and $result_run_long1=2;
}
else
if($$result_run_long<=115)
{
$result_run_long="ต่ำมาก" and $result_run_long1=1;
}
}
/// แรงบีบมือที่ถนัดมือซ้าย
if($_POST['b_left']!="")
{
$result_b_left=$_POST['b_left'];
if($result_b_left<21.3)
{
$result_b_left="ดีมาก" and $result_b_left1=5;
} else
if($result_b_left<=21.2 and $result_b_left>=18 )
{
$result_b_left="ดี" and $result_b_left1=4;
}else
if($result_b_left<=17.9 and $result_b_left>=11.2)
{
$result_b_left="ปานกลาง" and $result_b_left1=3;
}else
if($result_b_left<=11.1 and $result_b_left>=74.9)
{
$result_b_left="ต่ำ" and $result_b_lef1t=2;
}
else
if($result_b_left<=7.8)
{
$result_b_left="ต่ำมาก" and $result_b_left1=1;
}
}
/// แรงบีบมือที่ถนัดมือขวา
if($_POST['b_right']!="")
{
$result_b_left=$_POST['b_right'];
if($result_b_right<21.3)
{
$result_b_right="ดีมาก" and $result_b_right1=5;
} else
if($result_b_right<=21.2 and $result_b_right>=18 )
{
$result_b_right="ดี" and $result_b_right1=4;
}else
if($result_b_right<=17.9 and $result_b_right>=11.2)
{
$result_b_right="ปานกลาง" and $result_b_right1=3;
}else
if($result_b_right<=11.1 and $result_b_right>=74.9)
{
$result_b_right="ต่ำ" and $result_b_right1=2;
}
else
if($result_b_right<=7.8)
{
$result_b_right="ต่ำมาก" and $result_b_right1=1;
}
}
$sum=$result_run_50_m1+$result_run_long1+$result_b_left1+$result_b_right1;
$av=($result_run_50_m1+$result_run_long1+$result_b_left1+$result_b_right1)/4;
?>
<form action="save.php" id="boy" name="boy" method="post">
<table width="100%" border="1">
<tr>
<td>ที่</td>
<td>รายการ</td>
<td>ผลการทดสอบ</td>
<td>หน่วย</td>
<td>ค่าระดับสมรรถภาพ</td>
</tr>
<tr>
<td>1</td>
<td>วิ่งเร็ว 50 เมตร</td>
<td><input type="text" name="run_50_m" /></td>
<td>วินาที</td>
<td><input type="text" name="result_run_50_m" value="<?php echo @$result_run_50_m;?>"/></td>
</tr>
<tr>
<td>2</td>
<td>ยืนกระโดดไกล</td>
<td><input type="text" name="run_long" /></td>
<td>เซนติเมตร</td>
<td><input type="text" name="result_run_long" value="<?php echo @$result_run_long;?>"/></td>
</tr>
<tr>
<td>3</td>
<td>แรงบีบมือที่ถนัด</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="25"> </td>
<td>มือซ้าย</td>
<td><input type="text" name="b_left" /></td>
<td>กิโลกรัม</td>
<td><input type="text" name="result_b_left" value="<?php echo @$result_b_left;?>"/></td>
</tr>
<tr>
<td> </td>
<td>มือขวา</td>
<td><input type="text" name="b_right" /></td>
<td>กิโลกรัม</td>
<td><input type="text" name="result_b_right" value="<?php echo @$result_b_right;?>"/></td>
</tr>
<tr>
<td colspan="4">รวมค่าระดับสมรรถภาพทางกาย</td>
<td><input type="text" name="sum" value="<?php echo @$sum;?>"/></td>
</tr>
<tr>
<td colspan="4">ค่าเฉลี่ยระดับสมรรถภาพทางกาย</td>
<td><input type="text" name="av" value="<?php echo @$av;?>"/></td>
</tr>
</table>
<?php
$thai_day_arr=array("อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์");
$thai_month_arr=array(
"0"=>"",
"1"=>"มกราคม",
"2"=>"กุมภาพันธ์",
"3"=>"มีนาคม",
"4"=>"เมษายน",
"5"=>"พฤษภาคม",
"6"=>"มิถุนายน",
"7"=>"กรกฎาคม",
"8"=>"สิงหาคม",
"9"=>"กันยายน",
"10"=>"ตุลาคม",
"11"=>"พฤศจิกายน",
"12"=>"ธันวาคม"
);
function thai_date($time){
global $thai_day_arr,$thai_month_arr;
$thai_date_return="วัน".$thai_day_arr[date("w",$time)];
$thai_date_return.= "ที่ ".date("j",$time);
$thai_date_return.=" เดือน".$thai_month_arr[date("n",$time)];
$thai_date_return.= " พ.ศ.".(date("Yํ",$time)+543);
$thai_date_return.= " ".date("H:i",$time)." น.";
return $thai_date_return;
$eng_date=time(); // แสดงวันที่ปัจจุบัน
echo thai_date($eng_date);
}
?>
<input type="submit" value="คำนวณ"/><br><br><br>
ทดสอบครั้งที่ <input name="ss" type="text" size="3" maxlength="3" />
<input name="day" type="text" disabled value="<?php echo thai_date($eng_date);?>" size="40" maxlength="40" readonly/><br><br>
<input type="submit" value="บันทึก"/>
</form>
</body>
</html>
Tag : PHP, MySQL, HTML/CSS, JavaScript, Action Script
|
|
|
|
|
|
Date :
2016-10-17 14:27:02 |
By :
mininovaa |
View :
807 |
Reply :
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หาเรื่อง on change หรือ on keyup หรือ bind change keyup ของ jquery มาทำสอบและปรับใช้ครับ เมื่อเข้าใจการทำงาน เรื่อง insert ก็ตามมาเองครับ
|
|
|
|
|
Date :
2016-10-17 14:35:41 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ติดปัญหาตรงการแสดงค่าข้อความ ถ้า xx<8.07 ให้มีค่า 5 และข้อความดีมาก ถ้า xx>8.07 ให้มีค่า 4 และข้อความดี
Code (PHP)
function x(){
var xx=eval(boy.text1.value);
//var yy=eval(form1.text2.value);
if(xx<8.07)
{
boy.text3.value=xx+1
}
if(xx>8.07)
{
boy.text3.value=xx
}
}
</script>
<form action="save.php" id="boy" name="boy" method="post">
<input type="text" name="text1" value="" onBlur="x()">
<input type="text" name="text3" value="" disabled="">
</form>
|
|
|
|
|
Date :
2016-10-17 16:52:28 |
By :
mininovaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ติดปัญหา script ไม่แสดงผลลัพธ์ <span id="output2"></span> <span id='comment2'></span>
Code (PHP)
<script>
function compute() {
var run_50_m = Number(document.getElementById("run_50_m").value);
var run_long = Number(document.getElementById("run_long").value);
var b1 = run_50_m ;
document.getElementById("output1").innerHTML = Math.round(b1 * 100)/100;
if (b1 < 8.07) document.getElementById("comment1").innerHTML = "very good";
if (b1 >= 8.08 && b1 <= 8.76) document.getElementById("comment1").innerHTML = "good";
if (b1 >= 8.77 && b1 <= 10.15) document.getElementById("comment1").innerHTML = "normal";
if (b1 >= 10.16 && b1 <= 10.84) document.getElementById("comment1").innerHTML = "bad";
if (b1 >= 10.85) document.getElementById("comment1").innerHTML = "very bad";
document.getElementById("answer1").value = output;
//////////////////////////////////////////////////////////////////
var b2 = run_long ;
document.getElementById("output2").innerHTML = Math.round(b2 * 100)/100;
if (b2 < 173) document.getElementById("comment2").innerHTML = "very good";
if (b2 >= 159 && b2 <= 172) document.getElementById("comment2").innerHTML = "good";
if (b2 >= 130 && b2 <= 158) document.getElementById("comment2").innerHTML = "normal";
if (b2 >= 116 && b2 <= 129) document.getElementById("comment2").innerHTML = "bad";
if (b2 <= 115) document.getElementById("comment2").innerHTML = "very bad";
document.getElementById("answer2").value = output;
}
</script>
<table width="100%" border="1">
<tr>
<td>ที่</td>
<td>รายการ</td>
<td>ผลการทดสอบ</td>
<td>หน่วย</td>
<td>ค่าระดับสมรรถภาพ</td>
</tr>
<tr>
<td>1</td>
<td>วิ่งเร็ว 50 เมตร</td>
<td><input type="text" name="run_50_m" id="run_50_m" /></td>
<td>วินาที</td>
<td><span id="output1"></span>
<span id='comment1'></span> </td>
</tr>
<tr>
<td>2</td>
<td>ยืนกระโดดไกล</td>
<td><input type="text" name="run_long" id="run_long" /></td>
<td>เซนติเมตร</td>
<td><span id="output2"></span>
<span id='comment2'></span> </td>
</tr>
<input type="button" value="computeBMI" onclick="compute()"/>
|
|
|
|
|
Date :
2016-10-18 14:06:58 |
By :
mininovaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณ sakuraei เขาก็บอกอยู่ว่าอะไร ไม่ใช่ทำเฉพาะค่า b1 b2 หมายถึงเลขตัวหลังด้วย
บรรทัดที่ 13 และ 22 ค่า output ต้องเป็น output1 และ output2 ตามลำดับด้วยหรือเปล่า
ลองไล่ค่าดีดี อย่าใจร้อนครับ
|
|
|
|
|
Date :
2016-10-18 15:14:40 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทดสอบเบื้องต้น
document.getElementById("output1").innerHTML = Math.round(b1 * 100)/100; มีค่าเป็น NaN
Math.round น่าจะผิด
คือรับค่าเป็นวินาที แล้วจะตัดทศนิยมออก ด้วย Math.round เพื่อจะทำอะไรครับ งง
ลองไปต่อดูครับ
<script>
function compute() {
var run_50_m = Number(document.getElementById("run_50_m").value);
var run_long = Number(document.getElementById("run_long").value);
console.log("run_50_m : "+ run_50_m);
console.log("run_long : "+ run_long);
var b1 = run_50_m * 100 ;
console.log("b1 : "+ b1);
document.getElementById("output1").innerHTML = b1;
if (b1 < 807){
document.getElementById("comment1").innerHTML = "very good";
}
if (b1 >= 808 && b1 <= 876) document.getElementById("comment1").innerHTML = "good";
if (b1 >= 877 && b1 <= 1015) document.getElementById("comment1").innerHTML = "normal";
if (b1 >= 1016 && b1 <= 1084) document.getElementById("comment1").innerHTML = "bad";
if (b1 >= 1085) document.getElementById("comment1").innerHTML = "very bad";
// document.getElementById("answer1").value = output;
//////////////////////////////////////////////////////////////////
var b2 = run_long ;
document.getElementById("output2").innerHTML = Math.round(b2 * 100)/100;
if (b2 < 173) document.getElementById("comment2").innerHTML = "very good";
if (b2 >= 159 && b2 <= 172) document.getElementById("comment2").innerHTML = "good";
if (b2 >= 130 && b2 <= 158) document.getElementById("comment2").innerHTML = "normal";
if (b2 >= 116 && b2 <= 129) document.getElementById("comment2").innerHTML = "bad";
if (b2 <= 115) document.getElementById("comment2").innerHTML = "very bad";
//document.getElementById("answer2").value = output;
}
</script>
<table width="100%" border="1">
<tr>
<td>ที่</td>
<td>รายการ</td>
<td>ผลการทดสอบ</td>
<td>หน่วย</td>
<td>ค่าระดับสมรรถภาพ</td>
</tr>
<tr>
<td>1</td>
<td>วิ่งเร็ว 50 เมตร</td>
<td><input type="text" name="run_50_m" id="run_50_m" /></td>
<td>วินาที</td>
<td><span id="output1"></span>
<span id='comment1'></span> </td>
</tr>
<tr>
<td>2</td>
<td>ยืนกระโดดไกล</td>
<td><input type="text" name="run_long" id="run_long" /></td>
<td>เซนติเมตร</td>
<td><span id="output2"></span>
<span id='comment2'></span> </td>
</tr>
<input type="button" value="computeBMI" onclick="compute()"/>
|
ประวัติการแก้ไข 2016-10-18 15:24:51 2016-10-18 15:27:20
|
|
|
|
Date :
2016-10-18 15:22:39 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาฟังชั่น Math.round() ออกแล้วลืมไปว่าหลักมิลลิวินาทีปัดไม่ได้
ทดสอบใส่ข้อมูลส่วนค่าระดับสมรรถภาพแถวแรกมีตัวเลขและระดับ good ver good แต่แถวที่สอง <span id='comment2'> span id='comment2 ไม่มีข้อความอะไรเลย
|
ประวัติการแก้ไข 2016-10-18 16:17:19
|
|
|
|
Date :
2016-10-18 16:11:25 |
By :
mininovaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|