|
|
|
[PHP]สอบถามการคำนวณหาค่าความต่างของเวลา นำมาใช้กับ textbox |
|
|
|
|
|
|
|
Code (PHP)
function dateDiv($t1,$t2){
$t1Arr=splitTime($t1);
$t2Arr=splitTime($t2);
$Time1=mktime($t1Arr["h"], $t1Arr["m"]);
$Time2=mktime($t2Arr["h"], $t2Arr["m"]);
$TimeDiv=abs($Time2-$Time1);
$Time["H"]=intval(($TimeDiv%86400)/3600);
$Time["M"]=intval((($TimeDiv%86400)%3600)/60);
return $Time;
}
function splitTime($time){
$timeArr["h"]= substr($time,0,2);
$timeArr["m"]= substr($time,3,2);
return $timeArr;
}
$t1="13:00";
$t2="22:20";
print "<br> $t1 <br> $t2 <br> ";
if ($t2<$t1){
$t2 = "24:00";
$time=dateDiv($t1,$t2);
echo implode(":",$time);
}else if ($t2>$t1) {
$time=dateDiv($t1,$t2);
echo implode(":",$time);
}
?>
ได้ผลรับ
12:00
22:20
10:20
ผมต้องการสร้าง textbox 3 ช่อง
แล้วให้พิมค่าเวลาใน ช่อง 1 ช่อง 2 แล้วให้ผลออกมาช่อง 3 เมื่อเราเอาเมาส์ไปคลิกที่ช่อง 3 อ่ะครับ
<input type="text" name="box1" id="box1" />
<input type="text" name="box2" id="box2" />
<input type="text" name="box3" id="box3" />
ช่วยชี้แนะด้วยครับ ขอบคุณครับ
Tag : PHP, HTML/CSS
|
|
|
|
|
|
Date :
2014-10-28 10:39:24 |
By :
muanpear |
View :
953 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ค่าที่ได้มันไม่ตรงตามฟอแมตเวลาอ่ะครับ
จากโค๊ตด้านบน มันได้ค่าตรงตามที่ต้องการเลย แต่ติดแค่ว่าจะเอาค่าจาก textbox ส่งไปในฟังก์ชั่นอย่างไร
แล้วส่งผลลัพธ์กลับไปที่ textbox อีกรอบ
|
|
|
|
|
Date :
2014-10-28 14:53:34 |
By :
muanpear |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูครับ
act.php
function dateDiv($t1,$t2){
$t1Arr=splitTime($t1);
$t2Arr=splitTime($t2);
$Time1=mktime($t1Arr["h"], $t1Arr["m"]);
$Time2=mktime($t2Arr["h"], $t2Arr["m"]);
$TimeDiv=abs($Time2-$Time1);
$Time["H"]=intval(($TimeDiv%86400)/3600);
$Time["M"]=intval((($TimeDiv%86400)%3600)/60);
return $Time;
}
function splitTime($time){
$timeArr["h"]= substr($time,0,2);
$timeArr["m"]= substr($time,3,2);
return $timeArr;
}
$t1= $_POST['box1'];
$t2= $_POST['box2'];
$rest = "";
if ($t2<$t1){
$t2 = "24:00";
$time=dateDiv($t1,$t2);
$rest = implode(":",$time);
}else if ($t2>$t1) {
$time=dateDiv($t1,$t2);
$rest = implode(":",$time);
}
echo "<script>
$(function(){
$('#box3').val('$rest');
});
</script>";
test.php
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<div id="res"></div>
<input type="text" name="box1" id="box1" class="cal" />
<input type="text" name="box2" id="box2" class="cal" />
<input type="text" name="box3" id="box3" />
<script>
$(function(){
$(".cal").keyup(function(){
var box1 = $("#box1").val();
var box2 = $("#box2").val();
$.post('act.php',{'box1':box1,'box2':box2},function(data){
$("#res").html(data);
});
});
});
</script>
|
|
|
|
|
Date :
2014-10-28 15:32:56 |
By :
Manussawin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สุดยอดครับพี่ SiamHTTP รบกวนอธิบาย code หน้า test.php ทีครับ ขอบคุณครับ
|
|
|
|
|
Date :
2014-10-28 16:33:59 |
By :
muanpear |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็นการใช้ jquery ส่งค่าไปให้ act.php ประมวลผล แล้วส่งกลับมาหน้า test ครับ
|
|
|
|
|
Date :
2014-10-28 16:45:42 |
By :
Dragons_first |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองอีกวิธีนะครับ เอาตัวอย่าง โค๊ด มาแปลง
ใช้ javascript อย่างเดียว ไม่ต้อง ทำเป็น ajax เพราะ javascript ก็คำนวณ ได้ครับ
|
|
|
|
|
Date :
2014-10-28 17:12:38 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|