我花了几个月试图让这个工作。我可以使用一些帮助。
我的PHP网页上有一个Jquery Datepicker。当我点击任何一个月的某一天时,我需要从数据库中提取数据并将其显示在div上。
这是工作的Jquery datepicker。
$(document).ready(function () {
$('#datepicker').datepicker({
maxDate: 0,
dateFormat: 'yyyy-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));
$.ajax({
type: "POST",
url: "clickdates.php",
data: { choice: dateText },
dataType: "json",
success: function(json_data) {
$('#apDiv2').html(json_data.dayPowerP[0]).show();
$('#apDiv6').html(json_data.monthPowerP[0]).show();
$('#apDiv8').html(json_data.yearPowerP[0]).show();
$('#apDiv4').load(
'dayGraph.php',
{ choice: dateText }, function() {
$(this).show();
});
$('#apDiv9').load(
'monthGraph.php',
{ choice: dateText}, function() {
$(this).show();
});
$('#apDiv10').load('yearGraph.php',
{ choice: dateText}, function() {
$(this).show();
});
}
});
}
});
});
PHP必定是问题所在。我已经阅读了很多新的MYSQLi,但我遗漏了一些东西。我可以在没有错误的情况下连接到数据库,但是有些错误,它不会在div中回显任何东西。以下是clickdates.php
文件的一部分,以回显#apDiv2
。 $choice
isset_POST应该来自Datepicker上的日期选择,然后我连接到数据库(不是连接到db的问题),然后$sql
SELECT应该完成它的工作以获得结果和回显它。这是我的意图。
<?php
$choice = (isset($_POST['choice']))
? date("Y-m-d",strtotime($_POST['choice'])) : date("Y-m-d");
$conn = new mysqli("xxxxxxxxxx","xxxxxx","xxxxxxxxxx","xxxxxx_ENERGY");
if ($conn->connect_error) {
die("Database connection failed: " . $conn->connect_error);
}
$sql = "SELECT SUM(Whc_daily/1000) AS choice FROM Solar WHERE date = '"
. $choice . "' group by date";
$result = mysqli_query($sql) or die('sql='.$sql."\n".mysqli_error());
$row = mysqli_fetch_assoc($result);
$dayPowerP = array( $row['choice']);
$conn->close();
任何智慧都将受到高度赞赏。