如何使用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 ""; while($row = mysql_fetch_array($result)) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
id date start name email phone comments approved
" . $row['id'] . "" . $row['date'] . "" . $row['start'] . "" . $row['name'] . "" . $row['email'] . "" . $row['phone'] . "" . $row['comments'] . "" . $row['approved'] . "
";

问题是当我选择两个日期然后没有任何反应。 在这种情况下,请帮助我。 简单的例子将不胜感激。 谢谢。

将你的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”];

如果有的话,这会给你一个任何问题的提示。