รบกวนหน่อยนะข๊ะ ต้องการคำนวณเวลาจากการเลือก Listbox
Code (JavaScript)
var st = new Date( objst.value);
var en = new Date( objen.value);
var result = parseInt(((en.getTime() - st.getTime())/1000); // in second
var sec = result % 60; result = Math.floor( result / 60);
var min = result % 60; result = Math.floor( result / 60);
var h = result % 24; var day = Math.floor( result / 24);
objst กับ objen ทำให้อยู่ในรูปแบบ format datetime ที่ถูกต้องเองนะครับ ค้นหาเอาหน่อย
Date :
2015-11-11 15:11:55
By :
NewbiePHP
สร้างฟังก์ชั่น ครอบตัวอย่างที่ให้ไป แล้วใช้ onchange เรียกฟังก์ชั่นนั้น
onchange="ชื่อฟังก์ชั่น()"
จะใส่ในอะไรก็ getElement มาใส่ค่า
document.getElementById('total').value=day+' '+h+':'+min+':'+sec;
Date :
2015-11-11 17:28:43
By :
NewbiePHP
โค้ดนี่เอาไว้ตรงส่วนไหนหรอคะ แหะๆ
Date :
2015-11-12 13:43:04
By :
kk_kukkik
ฟังก์ชั่นไว้ใน ส่วนหัวใน <script>......</script>
onchange ก็ไว้ใน tag select <select onchange="...."
Date :
2015-11-12 13:45:47
By :
NewbiePHP
Code (JavaScript)
<script>
function time($st,$en){
var st = new Date("H:mm:ss");
var en = new Date("H:mm:ss");
var result = parseInt(((en.getTime() - st.getTime())/1000); // in second
var sec = result % 60; result = Math.floor( result / 60);
var m = result % 60; result = Math.floor( result / 60);
var h = result % 24;
var day = Math.floor( result / 24);
}
</script>
----------------------
<select name="st" id="st" onchange="document.getElementById('txttotal').value=day+':'+h+':'+m+':'+sec;">
ใช่ป่ะคะ
Date :
2015-11-12 15:24:35
By :
kk_kukkik
ถูกครับ แต่
เปลี่ยชื่อ function ใหม่ก็ดีนะครับ
แล้ว เอา document.get.... ไปต่อท้ายใน function
Code (JavaScript)
function time_change(){
....
....
document.getElementById('txttotal').value=day+':'+h+':'+m+':'+sec;
}
*****************************************************
<select onchange="time_change()">
Date :
2015-11-12 17:53:23
By :
NewbiePHP
ไม่ได้อ่าคะ เลือกเวลาที่ listbox แล้ว textfield เวลารวม ไม่ขึ้นเวลาที่คำนวณคะ
Date :
2015-11-13 11:16:46
By :
kk_kukkik
ขอ code หน้านี้หน่อยคับผม
Date :
2015-11-13 11:19:48
By :
progamer2000
Code (PHP)
<?php require_once('Connections/con_systemtimeout.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO employee (em_name, em_surname, phone, time_all, time_in, time_out) VALUES (%s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['txtname'], "text"),
GetSQLValueString($_POST['txtsurname'], "text"),
GetSQLValueString($_POST['txtphone'], "text"),
GetSQLValueString($_POST['txttotal'], "date"),
GetSQLValueString($_POST['st'], "date"),
GetSQLValueString($_POST['en'], "date"));
mysql_select_db($database_con_systemtimeout, $con_systemtimeout);
$Result1 = mysql_query($insertSQL, $con_systemtimeout) or die(mysql_error());
$insertGoTo = "ad_add.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
mysql_select_db($database_con_systemtimeout, $con_systemtimeout);
$query_rs_em = "SELECT * FROM employee";
$rs_em = mysql_query($query_rs_em, $con_systemtimeout) or die(mysql_error());
$row_rs_em = mysql_fetch_assoc($rs_em);
$totalRows_rs_em = mysql_num_rows($rs_em);
mysql_select_db($database_con_systemtimeout, $con_systemtimeout);
$query_rs_time = "SELECT * FROM `time`";
$rs_time = mysql_query($query_rs_time, $con_systemtimeout) or die(mysql_error());
$row_rs_time = mysql_fetch_assoc($rs_time);
$totalRows_rs_time = mysql_num_rows($rs_time);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
function time_change(){
var st = new Date("H:mm:ss");
var en = new Date("H:mm:ss");
var result = parseInt(((en.getTime() - st.getTime())/1000); // in second
var sec = result % 60; result = Math.floor( result / 60);
var m = result % 60; result = Math.floor( result / 60);
var h = result % 24;
//var day = Math.floor( result / 24);
document.getElementById('txttotal').value=h+':'+m+':'+sec;
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login</title><style type="text/css">
<!--
body {
background-repeat: no-repeat;
}
body,td,th {
font-family: tahoma;
}
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
a:active {
text-decoration: none;
}
.style1 {font-family: tahoma;
color: #FF0000;
}
.style33 {color: #FF0000}
-->
</style>
</head>
<body>
<table width="955" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="955"><div align="center">
<table width="96%" height="614" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><p> </p>
<p> </p>
<p> </p>
<div align="center">
<form action="<?php echo $editFormAction; ?>" id="form1" name="form1" method="POST" ;>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="right"></div></td>
<td> </td>
</tr>
<tr>
<td><div align="right">ชื่อ :</div></td>
<td><label>
<input type="text" name="txtname" id="txtname" />
</label></td>
</tr>
<tr>
<td><div align="right">นามสกุล :</div></td>
<td><label>
<input type="text" name="txtsurname" id="txtsurname" />
</label></td>
</tr>
<tr>
<td><div align="right">เบอร์โทรศัพท์ :</div></td>
<td><label>
<input type="text" name="txtphone" id="txtphone" />
</label></td>
</tr>
<tr>
<td><div align="right">เวลาเข้า :</div></td>
<td><label>
<select name="st" id="st" onchange="time_change()">
<option value="0">เลือก</option>
<?php
do {
?>
<option value="<?php echo $row_rs_time['time']?>"><?php echo $row_rs_time['time']?></option>
<?php
} while ($row_rs_time = mysql_fetch_assoc($rs_time));
$rows = mysql_num_rows($rs_time);
if($rows > 0) {
mysql_data_seek($rs_time, 0);
$row_rs_time = mysql_fetch_assoc($rs_time);
}
?>
</select>
</label></td>
</tr>
<tr>
<td><div align="right">เวลาออก :</div></td>
<td><label>
<select name="en" id="en" onchange="time_change()">
<option value="0">เลือก</option>
<?php
do {
?>
<option value="<?php echo $row_rs_time['time']?>"><?php echo $row_rs_time['time']?></option>
<?php
} while ($row_rs_time = mysql_fetch_assoc($rs_time));
$rows = mysql_num_rows($rs_time);
if($rows > 0) {
mysql_data_seek($rs_time, 0);
$row_rs_time = mysql_fetch_assoc($rs_time);
}
?>
</select>
</label></td>
</tr>
<tr>
<td><div align="right">เวลารวม :</div></td>
<td><label>
<input type="text" name="txttotal" id="txttotal" />
</label></td>
</tr>
<tr>
<td><div align="right"></div></td>
<td> </td>
</tr>
<tr>
<td><div align="right"></div></td>
<td><label>
<input type="submit" name="btnok" id="btnok" value="ตกลง" />
<input type="button" name="btncancel" id="btncancel" value="ยกเลิก" />
</label></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
</div></td>
</tr>
</table>
</div></td>
</tr>
</table>
</body>
</html>
<?php
mysql_free_result($rs_em);
mysql_free_result($rs_time);
?>
ประวัติการแก้ไข 2015-11-13 12:15:46
Date :
2015-11-13 12:14:08
By :
kk_kukkik
เวลาที่ให้เลือกนิเอามาจาก DB ด้วยหรอคับ
Date :
2015-11-13 13:57:57
By :
progamer2000
ใช่คะ
Date :
2015-11-13 14:01:08
By :
kk_kukkik
ขอดู pattern ของ เวลาที่มาแสดงใน select box ทีคับ
dd/mm/YYYY
หรือ YYYY-mm-dd
Date :
2015-11-13 14:08:34
By :
progamer2000
ในฐานหรอคะ
Date :
2015-11-13 14:29:56
By :
kk_kukkik
คับใน ฐานก็ได้
Date :
2015-11-13 14:31:16
By :
progamer2000
Date :
2015-11-13 14:40:55
By :
kk_kukkik
Code (PHP)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" integrity="sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" crossorigin="anonymous">
</head>
<body class="container">
<form id="form1" class="form-horizontal well" name="form1">
<input type="hidden" name="upload" value="upload">
<div class="form-group">
<label for="name" class="col-sm-2 control-label">ชื่อ</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="name" name="name" placeholder="ชื่อพนักงาน">
</div>
</div>
<div class="form-group">
<label for="surname" class="col-sm-2 control-label">นามสกุล</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="surname" name="surname" placeholder="นามสกุล">
</div>
</div>
<div class="form-group">
<label for="time_in" class="col-sm-2 control-label">เวลาเข้า</label>
<div class="col-sm-10">
<select class="form-control" id="time_in" name="time_in">
<option value="">เลือกเวลา</option>
<option value="">08:00:00</option>
<option value="">09:00:00</option>
</select>
</div>
</div>
<div class="form-group">
<label for="time_out" class="col-sm-2 control-label">เวลาออกงาน</label>
<div class="col-sm-10">
<select class="form-control" id="time_out" name="time_out">
<option value="">เลือกเวลา</option>
<option value="">10:00:00</option>
<option value="">11:00:00</option>
</select>
</div>
</div>
<div class="form-group">
<label for="time_diff" class="col-sm-2 control-label">เวลารวม</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="time_diff" name="time_diff" placeholder="เวลาออกงาน">
</div>
</div>
<!-- <div class="text-center">
<button type="submit" class="btn btn-default">Submit</button>
</div>-->
</form>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js" integrity="sha512-K1qjQ+NcF2TYO/eI3M6v8EiNYZfA95pQumfvcVrTHtwQVDG+aHRqLi/ETn2uB+1JqwYqVG3LIvdm9lj6imS/pQ==" crossorigin="anonymous"></script>
<script>
$(document).ready(function(){
$('#time_in,#time_out').on('change',function(){
var time_in = $('#time_in option:selected').text();
var time_out = $('#time_out option:selected').text();
var st = new Date("01/01/2000 "+time_in);
var en = new Date("01/01/2000 "+time_out);
var result = parseInt(((en.getTime() - st.getTime()))/1000); // in second
var sec = result % 60; result = Math.floor( result / 60);
var m = result % 60; result = Math.floor( result / 60);
var h = result % 24;
var value = ('0'+h).slice(-2)+':'+('0'+m).slice(-2)+':'+('0'+sec).slice(-2);
$('#time_diff').val(value);
})
});
</script>
</body>
</html>
ประวัติการแก้ไข 2015-11-13 15:07:01 2015-11-13 15:24:04 2015-11-13 15:33:51
Date :
2015-11-13 15:06:32
By :
progamer2000
copy code ผมไปเล่นได้เลย มันใช้ แบบ online ครับ
จะโหลดมาแบบ office ก็ตามใจจ้า
Date :
2015-11-13 15:52:41
By :
progamer2000
โหลดแบบ offline ได้จากไหนคะ
Date :
2015-11-16 13:52:47
By :
kk_kukkik
ก็โหลด jquery มา plug ใส่เองใน localhost ไงครับ
มันมีการใช้งาน 2 แบบ แบบ online มันก็จะเป็น ลิงค์ไปยังเวบผู้พัฒนา
กับแบบโหลดมาลงคอมเรา แล้ว link ไปยัง path เวลาใช้งาน host จริงก็ต้อง upload ไปด้วย
Date :
2015-11-16 14:19:34
By :
progamer2000
โหลดได้แล้วคะ
Date :
2015-11-16 14:20:41
By :
kk_kukkik
รบกวนถามต่อนะคะ อิอิ
ตอนนี้ เวลารวมมันยังไม่โชว์ในช่อง textfield อ่าคะ คือ จะอ้างค่าเวลามาจากฐาน จะทำยังไงดีคะ
Date :
2015-11-16 14:35:29
By :
kk_kukkik
ตอนนี้ใช้ code แบบไหนอยู่ครับ
และช่วย viewsouce ข้อมูลหน้านั้นออกมาดูหน่อย ผมอยากดู ค่าใน select
Date :
2015-11-16 14:37:17
By :
progamer2000
Code (PHP)
<select name="st" id="st" class="form-control" onchange="time_change()">
<option value="0">เลือก</option>
<?php
do {
?>
<option value="<?php echo $row_rs_time['time']?>"><?php echo $row_rs_time['time']?></option>
<?php
} while ($row_rs_time = mysql_fetch_assoc($rs_time));
$rows = mysql_num_rows($rs_time);
if($rows > 0) {
mysql_data_seek($rs_time, 0);
$row_rs_time = mysql_fetch_assoc($rs_time);
}
?>
</select>
Code (PHP)
<select name="en" id="en" class="form-control" onchange="time_change()">
<option value="0">เลือก</option>
<?php
do {
?>
<option value="<?php echo $row_rs_time['time']?>"><?php echo $row_rs_time['time']?></option>
<?php
} while ($row_rs_time = mysql_fetch_assoc($rs_time));
$rows = mysql_num_rows($rs_time);
if($rows > 0) {
mysql_data_seek($rs_time, 0);
$row_rs_time = mysql_fetch_assoc($rs_time);
}
?>
</select>
Date :
2015-11-16 14:57:25
By :
kk_kukkik
ได้ลอง เอา code ผมไปเล่นหรือยังละคับ
ก่อนอื่นยังไม่ต้องดึงเวลาจาก db ก็ได้ เอาให้ มันค่าออกมา ที่ ช่วงเวลารวมก่อน
Date :
2015-11-16 15:24:05
By :
progamer2000
ได้แล้วคะๆ
ขอบคุณมากๆนะคะ
Date :
2015-11-16 15:39:06
By :
kk_kukkik
ขอถามต่ออีกหน่อยนะคะ แหะๆ
ให้มันแจ้งเตือนถ้าเลือกเวลาออกน้อยกว่าเวลาเข้าอ่าคะ ทำยังไงคะ รบกวนด้วยนะคะ อิอิ
Date :
2015-11-16 15:41:23
By :
kk_kukkik
Code (JavaScript)
<script>
$(document).ready(function(){
$('#time_in,#time_out').on('change',function(){
var time_in = $('#time_in option:selected').text();
var time_out = $('#time_out option:selected').text();
var st = new Date("01/01/2000 "+time_in);
var en = new Date("01/01/2000 "+time_out);
if(parseInt(en.getTime()) < parseInt(st.getTime())){
alert('เวลาออกน้อยกว่าเข้าจ้า');
return false;
}
var result = parseInt(((en.getTime() - st.getTime()))/1000); // in second
var sec = result % 60; result = Math.floor( result / 60);
var m = result % 60; result = Math.floor( result / 60);
var h = result % 24;
var value = ('0'+h).slice(-2)+':'+('0'+m).slice(-2)+':'+('0'+sec).slice(-2);
$('#time_diff').val(value);
})
});
</script>
Date :
2015-11-16 15:45:05
By :
progamer2000
ได้แล้วคะ ขอบคุณมากๆอีกครั้งนะคะ กราบงามๆเลย อิอิ
Date :
2015-11-16 15:57:43
By :
kk_kukkik
รบกวนอีกรอบนะคะ แหะๆ
คือ ตอนนี้ถ้าเลือกเวลาออกน้อยกว่าเวลาเข้ามันแจ้งเตือนคะ แต่ว่าอยากให้มันเคลียร์ค่าใน listbox กับ textfield เวลารวมด้วยอ่าคะ เพราะค่าที่เลือกมันค้างอยู่
ประวัติการแก้ไข 2015-11-17 10:05:10 2015-11-17 10:20:25
Date :
2015-11-16 16:46:51
By :
kk_kukkik
Load balance : Server 05