【发布时间】:2014-07-13 13:07:01
【问题描述】:
我在获取最新数据时遇到了一点问题。我想要的只是查找数据库中是否有任何新数据并将记录数打印回我的页面。我有 ajax 工作,它有它发送到 php.ini 的最后一个 notification_id。我只需要让 php 选择任何新数据,发回并打印出来。
我还没有尝试过轮询,但当我完成这项工作并更好地理解它时会进行调查。
<? $call="SELECT * FROM notifications WHERE notification_targetuser='$user1_id' AND notification_status=1 ORDER BY notification_id DESC LIMIT 1";
$chant=mysqli_query($mysqli,$call) or die(mysqli_error($mysqli));
while($notification_id=mysqli_fetch_array($chant))
{
?>
<script type="text/javascript">
setInterval(function(){
var notification_id="<?php echo $notification_id['notification_id'] ;?>"
$.ajax({
type: "GET",
url: "viewajax.php?notification_id="+notification_id,
dataType:"json",
cache: false,
success: function(data){
$(".mess"+notification_id).prepend("<span class'mess' id='mes'>"+response['notification_id']+"</span>");
}
});
},20000);
</script>
<? }?>
回声'';
PHP viewajax.php - 将其更改为 JSON - 但在响应中获得 {"notification_id":null}
<?php
session_start();
include"database.php";
if(isset($_GET['notification_id']))
{
$id=$_GET['notification_id'];
$user1_id=$_SESSION['id'];
$json = array();
$com=mysqli_query($mysqli,"select notification_id from notifications where notification_id>'$id' AND notification_targetuser='$user1_id' AND notification_status=1");
$resultArr = mysqli_fetch_array($com);
$json['notification_id'] = $resultArr['notification_id'];
mysqli_free_result($com);
echo json_encode($json);
}?>
【问题讨论】:
-
尝试在没有
json_encode的情况下回显$json变量,以检查notification_id是否返回任何id 或仍然为空。有时<?php有效,但<?无效 -
我在响应中得到 Array。
标签: javascript php ajax mysqli polling