Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ติดปัญหาการบันข้อมูลลง database และการแสดงผลัพธ์โดยไม่ต้องกด submit เมื่อใส่ตัวเลขที่ช่อง input textbox



 

ติดปัญหาการบันข้อมูลลง database และการแสดงผลัพธ์โดยไม่ต้องกด submit เมื่อใส่ตัวเลขที่ช่อง input textbox

 



Topic : 124984



โพสกระทู้ ( 80 )
บทความ ( 0 )



สถานะออฟไลน์




ติดปัญหาการบันข้อมูลลง 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>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td height="25">&nbsp;</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>&nbsp;</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







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-10-17 14:27:02 By : mininovaa View : 754 Reply : 8
 

 

No. 1



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


หาเรื่อง on change หรือ on keyup หรือ bind change keyup ของ jquery มาทำสอบและปรับใช้ครับ เมื่อเข้าใจการทำงาน เรื่อง insert ก็ตามมาเองครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-17 14:35:41 By : apisitp
 


 

No. 2



โพสกระทู้ ( 80 )
บทความ ( 0 )



สถานะออฟไลน์


ติดปัญหาตรงการแสดงค่าข้อความ ถ้า 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
 

 

No. 3



โพสกระทู้ ( 3,155 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 2 เขียนโดย : mininovaa เมื่อวันที่ 2016-10-17 16:52:28
รายละเอียดของการตอบ ::
เปรียบเทียบได้เฉพาะตัวเลขจำนวนเต็มครับ

หรืออาจใช้วิธี *100 เพื่อให้เป็นจำนวนเต็มซะก่อน



ประวัติการแก้ไข
2016-10-17 17:00:40
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-17 16:59:28 By : sakuraei
 


 

No. 4



โพสกระทู้ ( 80 )
บทความ ( 0 )



สถานะออฟไลน์


ติดปัญหา 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
 


 

No. 5



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


คุณ sakuraei เขาก็บอกอยู่ว่าอะไร ไม่ใช่ทำเฉพาะค่า b1 b2 หมายถึงเลขตัวหลังด้วย

บรรทัดที่ 13 และ 22 ค่า output ต้องเป็น output1 และ output2 ตามลำดับด้วยหรือเปล่า

ลองไล่ค่าดีดี อย่าใจร้อนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-18 15:14:40 By : apisitp
 


 

No. 6



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ทดสอบเบื้องต้น
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
 


 

No. 7



โพสกระทู้ ( 80 )
บทความ ( 0 )



สถานะออฟไลน์


เอาฟังชั่น 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
 


 

No. 8



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : mininovaa เมื่อวันที่ 2016-10-18 16:11:25
รายละเอียดของการตอบ ::
คือเราก็แก้ ใส่ console.log เพื่อที่จะให้นายไป debug ดูการทำงาน เราก็แก้แค่บรรทัดที่ 1 -20 นายก็ลองดูไปต่อดูสิว่าทำไง

ไม่ใช่อะไร ๆ ก็ไม่ได้ หัดเรียนรู้ต่อครับ ขยับ ๆ เช็คตัวแปร หัด debug ค่า ดักค่าออกมา ว่ากระบวนการอะไรมันเกิด มันเข้าเงื่อนไนจริงไหม ผมก็ไม่ได้เก่ง ไม่ได้มาด้านนี้ แต่ผมไล่และนึกกระบวนการทำงานออก นึกออกว่าถ้ากรอกข้อมูลมาผลที่ตามจะเป็นแบบไหน ลำดับขั้นในสมอง สร้างงเรื่องออกมาเป็นฉาก ๆ ๆ ๆ ส่วนเรื่อง code ค่อยมาหาใส่ทีหลัง หรือ ถ้าจินตนาการไม่ออกว่า ทิศทางโปรแกรมที่เราต้องการเป็นแบบไหน พื้นฐานที่ง่ายที่สุด เริ่มจากเขียนผังการทำงานครับ Flowchart
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-19 08:03:25 By : apisitp
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ติดปัญหาการบันข้อมูลลง database และการแสดงผลัพธ์โดยไม่ต้องกด submit เมื่อใส่ตัวเลขที่ช่อง input textbox
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่