我有一个新的结构获取日期,然后连接到一个php文件... jquery文档后面跟着这封信,现在我需要获取PHP文件来获取日期,然后从mysql表中选择数据把它放进等待它的div。
这是Jquery脚本......
$(document).ready(function () {
$('#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.php', {choice: dateText}, function() {
$(this).show();
});
$('#apDiv8').load('yearPower.php', {choice: dateText}, function() {
$(this).show();
});
$('#apDiv10').load('yearGraph.php', {choice: dateText}, function() {
$(this).show();
});
}});
});
这是PHP
<?
$choice = (isset($_GET['choice'])) ? date("Y-m-d",strtotime($_GET['choice'])) : date("Y-m-d");
$con = mysql_connect("localhost","root","mackie1604");
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);
?>
为什么php不工作?
答案 0 :(得分:0)
然后你将一个对象传递给.load()
,这是一个POST,而不是一个GET请求
From the documentation for .load()
:
如果数据作为对象提供,则使用POST方法;否则,假设GET。
所以在PHP方面,您需要替换:
$_GET['choice']
使用:
$_POST['choice']
你也有其他错误,但它不起作用的基本起始原因是因为你没有得到你所追求的变量。您应该修复SQL注入漏洞和其他文化的年份格式(如果需要)。
答案 1 :(得分:0)
这就是你的整个代码应该是什么样子
答案 2 :(得分:0)
您使用的是单引号:
$sql = 'SELECT sum(power) AS choice '
.'FROM feed '
.'WHERE date = \'$choice\' ';
因此,我们不会使用您的$choice
变量,查询会将其视为$choice
。
针对此特定问题的解决方案:
$sql = "SELECT sum(power) AS choice "
."FROM feed "
."WHERE date = '$choice' ";