对于如何使用datepicker,ajax,php,mysql在两个日期之间生成报告?感兴趣的读者,本文将会是一篇不错的选择,并为您提供关于javascript–使用php数组从DatePicker中
对于如何使用datepicker,ajax,php,mysql在两个日期之间生成报告?感兴趣的读者,本文将会是一篇不错的选择,并为您提供关于javascript – 使用php数组从DatePicker中的onSelect中禁用datepicker中的日期和timepicker中的时间、MySQL 如何查询两个日期之间的记录、MySQL-在两个日期之间从数据库中选择数据、MySQL中如何使用DATEDIFF函数计算两个日期之间的天数差的有用信息。
本文目录一览:- 如何使用datepicker,ajax,php,mysql在两个日期之间生成报告?
- javascript – 使用php数组从DatePicker中的onSelect中禁用datepicker中的日期和timepicker中的时间
- MySQL 如何查询两个日期之间的记录
- MySQL-在两个日期之间从数据库中选择数据
- MySQL中如何使用DATEDIFF函数计算两个日期之间的天数差
如何使用datepicker,ajax,php,mysql在两个日期之间生成报告?
我被赋予了使用datepicker,ajax,php和mysql在两个给定日期之间生成报告的任务。以下是我的html:
日期明智的报告
From date: <input type="text" id="fromdate" value=""> To date: <input type="text" id="todate" value="" onChange="showuser(document.getElementById('fromdate').value,document.getElementById('todate').value)">
<br>
<div id="txtHint"><b>User informathions will be listed here.</b></div>
脚本:
<script>
$(function() {
$( "#fromdate" ).datepicker();
$( "#todate" ).datepicker();
});
</script>
<script type="text/javascript">
function showUser(fromdate,todate)
{
if (fromdate =="" && todate=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+,Firefox,Chrome,Opera,Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6,IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","bet_date.php?fromdate="+fromdate+"&todate="+todate,true);
xmlhttp.send();
}
</script>
这是应该生成报告的php文件:bet_date.php
include("database.php");
$fromdate=$_GET["fromdate"];
$todate=$_GET["todate"];
$sql = "SELECT * FROM bookings WHERE date between '$fromdate' and '$todate'";
$result = mysql_query($sql);
echo "<table border='1'>
<tr>
<th>id</th>
<th>date</th>
<th>start</th>
<th>name</th>
<th>email</th>
<th>phone</th>
<th>comments</th>
<th>approved</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['date'] . "</td>";
echo "<td>" . $row['start'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "<td>" . $row['phone'] . "</td>";
echo "<td>" . $row['comments'] . "</td>";
echo "<td>" . $row['approved'] . "</td>";
echo "</tr>";
}
echo "</table>";
问题是当我同时选择两个日期时什么也没发生。在这种情况下,请帮我。简单的例子将不胜感激。谢谢。
javascript – 使用php数组从DatePicker中的onSelect中禁用datepicker中的日期和timepicker中的时间
我有一个datepicker输入和一个timepicker输入,我想用它来安排一个人约会.
当用户点击输入以打开datepicker菜单时,我想使特定的日期时间变灰.我有一个PHP函数,以’Y-m-d H:i:s’字符串格式返回此日期时间数组.但我不知道如何使用该函数的返回值来为javascript函数提供在datepicker中禁用一系列日期所需的功能.
在我的datepicker的onSelect事件中,我希望它根据当天预订的时隙来启用/禁用我的timepicker中的时间选项.但我不知道怎么做.
> Datepicker使用beforeshowDay:禁用预订日期
>用户从datepicker中选择日期
> Datepicker启用/禁用timepicker中的时间
我确实找到了如何在timepicker Here中禁用时间范围.代码示例如下:
$('input.timepicker').timepicker({
'disableTimeRanges': [
['1am', '2am'],
['3am', '4:01am']
]
});
但这就是我如何禁用时间戳范围内的时间范围.我不知道如何在datepicker的BeforeShowDay中禁用它们?
<script type="text/javascript">
$(document).ready(function(){
$( "#datepickerListAppointments" ).datepicker(
{
minDate:'0',
beforeShowDay:
function(dt)
{ // need to disable days other than tuesday and wednesday too.
return [dt.getDay() === 2 || dt.getDay() === 3, ""];
},
onSelect : function(){
should disable/enable timepicker times from here?
}
});
$('input.timepicker').timepicker({
timeFormat: 'h:mm p',
interval: 90,
minTime: '9',
maxTime: '10:30am',
defaultTime: '9',
startTime: '9:00',
dynamic: false,
dropdown: true,
scrollbar: false
});
});
这是提供日期时间的函数,以防有助于了解.
function get_next_open_appointments($numAppointments, $timeSlottoExclude = "")
{
global $db;
$whereCondition = "WHERE FirstName = :null ";
if ($timeSlottoExclude != "")
{
$whereCondition .= "AND AppointmentTime != '$timeSlottoExclude' ";
}
$query = "SELECT disTINCT AppointmentTime FROM appointments
$whereCondition
ORDER BY AppointmentTime ASC LIMIT $numAppointments";
$statement = $db->prepare($query);
$statement->bindValue(':null', "");
$statement->execute();
$datesArray = array();
while ($row = $statement->fetch())
{
array_push($datesArray, $row['AppointmentTime']);
}
$statement->closeCursor();
return $datesArray;
}
更新:
雨果德卡尔莫指出我正确的方向,我得到适当的禁用/启用日期.但是,我不知道如何使用我在下面的代码中提取的日期时间来禁用/启用timepicker中的时间.
这是新代码:
<script type="text/javascript">
$(document).ready(function(){
// uses PHP to get open appointments, and put them in a javascript array
<?PHP $datetime_openings = get_next_open_appointments(200);
$date_openings = array();
foreach ($datetime_openings as $dt)
{
array_push($date_openings, substr($dt,0,10)); // just the date part
}
$json_date_openings = json_encode($date_openings);
echo "var arr_openings = ". $json_date_openings . ";\n";
?>
$( "#datepickerOpenAppointments" ).datepicker(
{
minDate:'0',
beforeShowDay:
function(dt)
{
var string = jQuery.datepicker.formatDate('yy-mm-dd', dt);
var bFound = (arr_openings.indexOf(string) != -1);
return [ bFound ];
},
onSelect : function(){
// Should disable/enable time ranges here?
});
$('input.timepicker').timepicker({
timeFormat: 'h:mm p',
interval: 90,
minTime: '9',
maxTime: '10:30am',
defaultTime: '9',
startTime: '9:00',
dynamic: false,
dropdown: true,
scrollbar: false
});
});
解决方法:
试试这个,
对不起,我没有使用beforeshowDay
选择日期2017-7-14和2017-7-17并查看
var disabledDateTime = {
'2017-7-14':[
['2:30am','3:00am'],
['6:30am','9:00am']
],
'2017-7-17':[
['1:00am','3:00am'],
['5:30am','7:00am'],
['11:30am','2:00pm']
]
};
$(function() {
$('#pickTime').timepicker();
$('#pickDate').datepicker({
'format': 'yyyy-m-d',
'autoclose': true
}).on('changeDate',function(e){
var ts = new Date(e.date);
var m = ts.getMonth()+1;
var dt = ts.getFullYear() + '-' + m + '-' + ts.getDate();
var opt = {'disableTimeRanges': []}
if(typeof(disabledDateTime[dt])!='undefined'){
$('#pickTime').timepicker('setTime', '');
opt = {'disableTimeRanges': disabledDateTime[dt]}
}
$('#pickTime').timepicker('option',opt);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link href="https://jonthornton.github.io/jquery-timepicker/lib/bootstrap-datepicker.css" rel="stylesheet"/>
<script src="https://jonthornton.github.io/jquery-timepicker/lib/bootstrap-datepicker.js"></script>
<link href="https://jonthornton.github.io/jquery-timepicker/jquery.timepicker.css" rel="stylesheet"/>
<script src="https://jonthornton.github.io/jquery-timepicker/jquery.timepicker.js"></script>
<input id="pickDate" type="text"/>
<input id="pickTime" type="text"/>
MySQL 如何查询两个日期之间的记录
MySQL 如何查询两个日期之间的记录
WHERE LogTime BETWEEN ''2010-08-01'' AND ''2010-08-19''
oracle 查询 某一时间段内的数据
select * from 表名 where 时间列 between to_date (''2016-01-01'',''yyyy-mm-dd'') and to_date (''2017-09-18'',''yyyy-mm-dd'')
MySQL-在两个日期之间从数据库中选择数据
我已将用户注册的日期保存为日期时间,例如 2011-12-06 10:45:36 。我已运行此查询,并且希望此项目 -2011-12-06
10: 45 : 36- 将被选择:
SELECT `users`.* FROM `users` WHERE created_at >= ''2011-12-01'' ANDcreated_at <= ''2011-12-06''
但是不是。存在任何优雅的方式,该如何选择?我最初的想法是2011-12-06 + 1
,但是看起来不太好。
答案1
小编典典您的问题是日期的简短版本使用午夜作为默认设置。因此,您的查询实际上是:
SELECT users.* FROM users WHERE created_at >= ''2011-12-01 00:00:00'' AND created_at <= ''2011-12-06 00:00:00''
这就是为什么您看不到10:45的记录的原因。
更改为:
SELECT users.* FROM users WHERE created_at >= ''2011-12-01'' AND created_at <= ''2011-12-07''
您还可以使用:
SELECT users.* from users WHERE created_at >= ''2011-12-01'' AND created_at <= date_add(''2011-12-01'', INTERVAL 7 DAY)
它将以您要查找的相同时间间隔选择所有用户。
您可能还会发现BETWEEN运算符更具可读性:
SELECT users.* from users WHERE created_at BETWEEN(''2011-12-01'', date_add(''2011-12-01'', INTERVAL 7 DAY));
MySQL中如何使用DATEDIFF函数计算两个日期之间的天数差
在MySQL数据库中,DATEDIFF函数可以方便地计算两个日期之间的天数差。这个函数接受两个日期作为参数,并返回它们之间的天数差。
使用DATEDIFF函数的语法如下:
DATEDIFF(date1, date2)
其中,date1和date2是两个要比较的日期参数。这两个参数可以是日期类型的列名、日期值或者是日期表达式。
下面是一些常见的使用示例:
- 计算两个日期之间的天数差:
SELECT DATEDIFF(''2021-12-31'', ''2021-01-01'') AS day_diff;
这个示例中,我们通过DATEDIFF函数计算了2021年12月31日和2021年1月1日之间的天数差。结果会返回365,表示这两个日期之间相差了365天。
- 使用日期类型的列名计算天数差:
假设有一个表格orders,其中包含了订单的创建时间和完成时间两个日期字段。我们想要计算每个订单的处理时长。
SELECT order_id, DATEDIFF(complete_date, create_date) AS process_duration FROM orders;
这个示例中,我们通过DATEDIFF函数计算了订单的完成日期和创建日期之间的天数差,并将结果命名为process_duration。通过这个查询,我们可以得到每个订单的处理时长。
- 使用日期表达式计算天数差:
SELECT DATEDIFF(NOW(), ''2021-01-01'') AS days_since_new_year;
这个示例中,我们使用了日期表达式NOW()获取当前日期,并将其与2021年1月1日进行比较,计算了距离新年的天数差。
需要注意的是,DATEDIFF函数返回的结果是一个整数,表示两个日期之间的天数差。如果两个日期中的一个为空,函数将返回NULL。
总结起来,DATEDIFF函数是MySQL中用于计算日期之间天数差的常用函数。无论是计算两个具体日期之间的间隔,还是计算某个日期与当前日期之间的间隔,这个函数都可以帮助我们快速进行计算。
以上就是MySQL中如何使用DATEDIFF函数计算两个日期之间的天数差的详细内容,更多请关注php中文网其它相关文章!
我们今天的关于如何使用datepicker,ajax,php,mysql在两个日期之间生成报告?的分享就到这里,谢谢您的阅读,如果想了解更多关于javascript – 使用php数组从DatePicker中的onSelect中禁用datepicker中的日期和timepicker中的时间、MySQL 如何查询两个日期之间的记录、MySQL-在两个日期之间从数据库中选择数据、MySQL中如何使用DATEDIFF函数计算两个日期之间的天数差的相关信息,可以在本站进行搜索。
本文标签: