在我的HTML页面上,我想逐个显示连续的推文。我的脚本中有两个函数,一个加载自身,另一个函数先调用。以下是我的代码:
<script type="text/javascript">
(function () {
$.ajax({
type:"post",
url:"fetch_data.php",
dataType:"json",
async: false,
data:{action:'onload'},
success:function(response){
$.each(response, function(key, item) {
var li = '<li><div class="user-pic">'+item.img+'</div><div class="user-details"><h2><span>'+item.name+'</span> @'+item.screen_name+'</h2><p class="cheer-zidane">'+item.tweet+'</p></div></li>';
$(li).hide().appendTo('.twitter-list').fadeIn('fast');
});
}
});
setInterval(display_later, 40000);
})();
function display_later() {
console.log("called display");
var i = 1;
$.ajax({
type:"post",
url:"fetch_data.php",
dataType:"json",
data:{action:'later'},
success:function(response){
console.log(response);
$.each(response, function(key, item) {
if ( $('.twitter-list li').length == 10) {
console.log("removed last "+i);
$('.twitter-list li:last-child').remove();
i = i + 1;
}
var li = '<li class="comefromtop"><div class="user-pic">'+item.img+'</div><div class="user-details"><h2><span>'+item.name+'</span> @'+item.screen_name+'</h2><p class="cheer-zidane">'+item.tweet+'</p></div></li>';
$('.twitter-list').prepend(li).fadeIn("slow");
});
}
});
};
和fetch_data.php:
if($_POST['action'] == 'onload')
{
//workes fine
}
if($_POST['action'] == 'later')
{
$j = 0;
$data1 = array();
$result = mysqli_query($db,"SELECT * FROM tweet_mash WHERE is_active = 1 ORDER BY activate_update DESC LIMIT 0,10 ");
$ispresent = @mysqli_num_rows($result);
if($ispresent > 0)
{
while($row = mysqli_fetch_array($result))
{
if($row['is_display'] == 0){
if($row['profile_image']!=""){
$img = str_replace("_normal", "", $row['profile_image']);
$thumbnail = '<image src="'.$img.'" style="height: 100%;width: inherit;">';
}else{
$thumbnail ="";
}
$data1[] = array('img'=>$thumbnail,'screen_name'=>$row['screen_name'],'name'=>$row['name'],'tweet'=>$row['tweet']);
$update = mysqli_query($db,"UPDATE tweet_mash SET is_display = 1 WHERE id = ".$row['id']." ");
$j = $j+1;
}else{
$j = $j;
}
}
echo json_encode($data1);
exit;
}
}
问题:当display_later()函数连续运行时,它会点击fetch_data.php。我的问题是,即使mysql db中存在数据,json数组也会给出空结果。我确定我的代码到达if($row['is_display'] == 0){
$update
($update
反映在数据库中)
我的ajax调用是错还是php代码。请帮忙。