如何使用datepicker,ajax,php,mysql生成两个日期之间的报告。
我被赋予了一个任务,使用datepicker,ajax,php和mysql在两个给定日期之间生成报告。 下面是我的HTML:
日期明智的报告
From date: To date:
User informathions will be listed here.
脚本:
$(function() { $( "#fromdate" ).datepicker(); $( "#todate" ).datepicker(); }); 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(); }
这是应该生成报告的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 " id date start name email phone comments approved "; while($row = mysql_fetch_array($result)) { echo ""; echo "" . $row['id'] . " "; echo "" . $row['date'] . " "; echo "" . $row['start'] . " "; echo "" . $row['name'] . " "; echo "" . $row['email'] . " "; echo "" . $row['phone'] . " "; echo "" . $row['comments'] . " "; echo "" . $row['approved'] . " "; echo " "; } echo "
";
问题是当我选择两个日期然后没有任何反应。 在这种情况下,请帮助我。 简单的例子将不胜感激。 谢谢。
将你的html更改为:你有showUser()
而不是showuser()
所以改变输入onchage="showUser()".
将onchange
事件写入它们将触发的两个字段的inputs.so。 并且在你的sql使用日期(日期)中,如果你只发送数据库中前端和日期列的日期是datetime类型..
"SELECT * FROM bookings WHERE date(date) between '$fromdate' and '$todate'"; From date: To date: function showUser() { var fromdate = $( "#fromdate" ).val(); var todate= $( "#todate" ).val(); // rest of your code: }
希望你在php中正确地发布/获取参数。
I have Created Whole Tutorial for Date Wise Report, so once try it
表结构
CREATE TABLE IF NOT EXISTS `bookings` ( `id` int(12) NOT NULL AUTO_INCREMENT, `date` date NOT NULL, `start` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `phone` varchar(20) NOT NULL, `comments` longtext NOT NULL, `approved` varchar(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; INSERT INTO `bookings` (`id`, `date`, `start`, `name`, `email`, `phone`, `comments`, `approved`) VALUES (1, '2014-12-17', 'yes', 'Mahendra', 'mahendra@XXXX', '89XXXXXXXX', 'nothing', 'yes'), (2, '2014-12-18', 'no', 'Rahul', 'rahul@XXXXXX', '987XXXXXXX', 'very nice article', 'yes');
检查使用AJAX的datepicker传递的日期是否适合您的查询?
尝试在PHP页面中显示由HTML datepicker传递的这两个变量:
echo $ _GET [“fromdate”]; echo $ _GET [“todate”];
如果有的话,这会给你一个任何问题的提示。