我有一个MySQL表,其数据的日期为CURRENT_TIMESTAMP。我试图使用PHP查询过去30天的数据,然后将其转换为JSON对象,然后再将其发送回我的UI。目前我只得到一个空的JSON对象。这是我目前的ajax代码。
function dailyReport(){
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState===4 && xmlhttp.status===200){
document.querySelector("#reportsOutput").innerHTML="";
document.querySelector("#reportsOutput").innerHTML=xmlhttp.responseText;
}
};
xmlhttp.open("GET","php/dailyReport.php",true);
xmlhttp.send();
}
这是我目前的PHP代码
$connection = mysqli_connect($host, $user, $pass, $db, $port)or die(mysql_error());
$query = "SELECT * FROM items WHERE timestamp=current_timestamp";
$result = mysqli_query($connection, $query);
$rows=array();
while($r=mysqli_fetch_assoc($result)){
$rows[]=$r;
}
$response=json_encode($rows);
echo($response);
答案 0 :(得分:0)
看一下这个答案 - 你需要修改你的查询。
答案 1 :(得分:0)
看起来SQL查询可能是这里的问题。
$query = "SELECT * FROM items WHERE timestamp=current_timestamp";
说,“选择时间戳正确的所有项目。”但是,我认为你的意思是沿着这些方向做一些事情,你选择一个大于当前时间戳的日期--30天:
$query = "SELECT * FROM items WHERE timestamp > DATE_SUB(current_timestamp,INTERVAL 30 DAY)";
我建议使用类似Sequel Pro的内容来测试您的查询,然后再将它们放入PHP中,这样可以更轻松地捕获这样的错误。
希望这有帮助!