我似乎没有快速到位......
似乎无法获得单个内联(嵌入)jquery Datepicker dateText正确地发布到PHP和mysql以从表中返回数据..我的阅读让我明白它应该是正确的,但事实并非如此。现在,datepicker选择确实有几个事件触发单个选择...数据按日,月和年要求,以及发送日期以创建一天中的几小时数据的高图图表一个月,一年一个月。
表非常简单......日期,时间,功率
这是Javasctipt ......
$(document).ready(function () {
$('#datepicker').datepicker({onSelect: function(dateText) {
var myDate = $(this).datepicker('getDate');
$('#apDiv1').html($.datepicker.formatDate('DD, d', myDate));
$('#apDiv5').html($.datepicker.formatDate('MM', myDate));
$('#apDiv7').html($.datepicker.formatDate('yy', myDate));
$.post('dayPower.php', {choice: dateText.val}, function(data) {
$('#apDiv2').html(data).show();
});
$.post('dayGraph.php', {choice: dateText.val}, function(data) {
$('#apDiv4').html().show();
});
$.post('monthPower.php', {choice: dateText.val}, function(data) {
$('#apDiv6').html(data).show();
});
$.post('monthGraph', {choice: dateText.val}, function(data) {
$('#apDiv9').html().show();
});
$.post('yearPower.php', {choice: dateText.val}, function(data) {
$('#apDiv8').html(data).show();
});
$.post('yearGraph', {choice: dateText.val}, function(data) {
$('#apDiv10').html().show();
});
}});
});
这是用于获取当天数据的POST的PHP(dayPower.php)......
<?
if(isset($_POST['choice']))
$choice = (isset($_POST['choice'])) ? date("Y-m-d",strtotime($_POST['choice'])) : date("Y-m-d");
$con = mysql_connect("localhost","root","xxxxxxxx");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("inverters", $con);
$sql = 'SELECT sum(power) AS power '
.'FROM feed '
.'WHERE date = $choice';
$res = mysql_query($sql) or die('sql='.$sql."\n".mysql_error());
$row = mysql_fetch_assoc($res);
echo $row['power'];
?>
PHP的第一行和第二行应该从datepicker获取日期,然后将其放入mysql可以读取的日期,并且sql select应该从表中获取值并将其回显到我所拥有的DIV中告诉它去......我做错了什么?
谢谢,
罗志祥
我现在让Jquery使用这个脚本发布到PHP文件......
$('#datepicker').datepicker({dateFormat: 'yy-mm-dd', onSelect: function(dateText) {
var myDate = $(this).datepicker('getDate');
$('#apDiv1').html($.datepicker.formatDate('DD, d', myDate));
$('#apDiv5').html($.datepicker.formatDate('MM', myDate));
$('#apDiv7').html($.datepicker.formatDate('yy', myDate));
$('#apDiv2').load('dayPower.php', {choice: dateText}, function() {
$(this).show();
});
$('#apDiv4').load('dayGraph.php', {choice: dateText}, function() {
$(this).show();
});
$('#apDiv6').load('monthPower.php', {choice: dateText}, function() {
$(this).show();
});
$('#apDiv9').load('monthGraph', {choice: dateText}, function() {
$(this).show();
});
$('#apDiv8').load('yearPower.php', {choice: dateText}, function() {
$(this).show();
});
$('#apDiv10').load('yearGraph', {choice: dateText}, function() {
$(this).show();
});
}});
});
由于新结构使用的是LOAD而不是POST,我的理解是我必须在PHP中使用GET,所以我已经做了我理解应该工作的更改,但他们没有...我似乎回来了和以前一样的船...这里是新的PHP ...任何想法为什么它不起作用????
<?
$choice = (isset($_GET['choice'])) ? date("Y-m-d",strtotime($_GET['choice'])) : date("Y-m-d");
$con = mysql_connect("localhost","root","xxxxxxxx");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("inverters", $con);
$sql = 'SELECT sum(power) AS choice '
.'FROM feed '
.'WHERE date = $choice';
$res = mysql_query($sql) or die('sql='.$sql."\n".mysql_error());
$row = mysql_fetch_assoc($res);
echo $row['choice'], '<br />';
mysql_close($con);
?>
答案 0 :(得分:1)
日期选择器如何格式化所选日期?我使用JS日期选择器的所有经验都会返回人类可读的日期,而不是我假设您在数据库中使用的UNIX时间戳。在这种情况下,您可以在日期选择器的日期字符串上使用$choice_timestamped = strtotime($choice);
,然后在输出时使用date()
函数,以您喜欢的任何格式显示。
答案 1 :(得分:1)
我注意到你正在使用dateText.val
。在我看来,根据documentation,dateText
只是一个字符串:
该功能接收所选 将日期作为文本和日期选择器 实例作为参数。
现在,函数的第二个参数是input元素。这可能是你想要.val()
打开的(注意括号)。
尝试更改:
$('#datepicker').datepicker({onSelect: function(dateText) {
致:$('#datepicker').datepicker({onSelect: function(dateText,inst) {
然后将所有dateText.val
更改为inst.val()
。