麻烦jquery ui悬停从数据库中获取数据
无法显示来自数据库的工具提示的结果。这里是我的代码的过程中,我使用jQuery UI获得了多个月的日历,当用户将鼠标悬停在日期上时,它将显示具有事件列表的工具提示来自数据库并将其加载到div,但我无法获取数据从数据库比较用户悬停的日期。麻烦jquery ui悬停从数据库中获取数据
下面是我的代码js和PHP
$(document).ready(function() {
$("event_calendar").datepicker(
numberOfMonths: 3,
showButtonPanel: true,
);
$('td a').live('mouseenter', function() {
var day = $(this).text();
var month = $(this).parent('.ui-datepicker').find('.ui-datepicker-month').text();
var year = $(this).parent('.ui-datepicker').find('.ui-datepicker-year').text();
var dateSelected = month + day + year;
$('.demo').html(date);
$('#tooltip').load("event_list.php", {thisDate: dateSelected});
$('#tootltip').css('visibility', 'visible')
});
});
event_list.php
$thisDate = $_REQUEST['thisDate'];
$qry = "SELECT * FROM event where eventdate = '$thisDate'";
$result = mysql_query($qry) or die ("Error in query: $qry. " . mysql_error());
while($row = mysql_fetch_object($result)){
echo $row->event_name;
}
It doesnt show any output on <div id="tooltip"></div>
我的日期格式UNIX时间戳存储在MySQL数据库
- 不要使用
$_REQUEST
超全局,这是更好(更安全)使用$_POST
(或$_GET
取决于ajax调用方法) - 检查什么返回此JavaScript语句:
var dateSelected = month + day + year;
我不认为它返回时间戳(你应该使用这个值做出新Date
对象,并使用getTime()
方法得到的时间戳,例如:var dateSelected = Date(year, month - 1, day).getTime()/1000;
检查这个以了解更多信息:JavaScript Date Object - 验证内容
$thisDate
变量来防止SQL注入 - 添加
exit;
在年底PHP脚本以确保该脚本在回显所有信息后退出
您的PHP脚本不会生成MySQL错误,因为查询不正确,但会返回空结果。在PHP脚本中打印查询,你会看到它使用JavaScript控制台最新错误(如你的问题的评论中所述)
现在我看到月和年的dosnt有正确的值,并且可以在鼠标上获得正确的值我搜索了这个[Jquery UI获取鼠标悬停的日期] [1] [1]:http://*.com/questions/4847646/jquery-datepicker-get-the-date-on-mouseover-from-the-cell但问题是我做得很好e 3 clendar,这就是为什么它得到3值3月,4月和5月,任何jQuery的函数来获得悬停单元的月和年值? – battousay 2012-03-20 11:06:46
这些变量(年,月,日)的确切值是什么? – zelazowy 2012-03-20 11:42:03
这里是演示当前值我得到http://jsfiddle.net/99cNA/ – battousay 2012-03-20 12:03:53
你会得到什么错误? – mamoo 2012-03-20 08:53:22
event_list.php的输出是什么?请写出它也建议你过滤数据('$ thisDate'),然后再使用它在数据库查询 – safarov 2012-03-20 08:53:54
@mamoo idont有任何错误,并没有得到任何结果显示:( – battousay 2012-03-20 08:55:22