ajax+php 实现新闻时时直播

来源:互联网 发布:淘宝双十一交易出故障 编辑:程序博客网 时间:2024/05/18 14:14

用的是cms处理

{pc:special action="content_list" specialid="272" typeid="value listorder="value" num="1000"} 

<?php $MAXID_S = 0; ?>
{loop $data $r}
<div class="content" id="conTexts">
<?php if($r['id']> $MAXID_S ){ $MAXID_S = $r['id'];} ?>
<div class="conImg">
<a href="{$r['url']}"><img src="<?php 
if(!$r['thumb']){
echo 'http://www.d1net.com/statics/images/special/96/img_1.jpg';
}else{
echo thumb($r['thumb'],250,200);
}
?>" alt="" /></a>
</div>
<div id='conText' class="conText">
<p class="p1"><span>{$r['company']}</span>&nbsp;&nbsp;<span>{$r['position']}</span>&nbsp;&nbsp;<span>{$r['name']}</span></p>
<h2><a href="{$r['url']}">{$r['title']}</a></h2>
<p class="text"><?php echo str_cut($r['description'],140);?></p>
<p class="p2"><a href="{$r['url']}">详细</a>&nbsp;丨&nbsp;<a href="">PPT</a>&nbsp;丨&nbsp;<a href="">视频</a></p>
</div>
</div>
{/loop}
{/pc}

<script type="text/javascript">
var MAXID_S;
MAXID_S = {$MAXID_S};
//alert(MAXID_S);
var TYPEID_S = 810;
$(document).ready(function(){
setInterval(function(){
$.ajax({
url:'http://localhost/inxphp?m=&c=&a=get_contents&specialid=272&typeid='+TYPEID_S+'&contentid='+MAXID_S,
type:'get',
datatype:'json',
success:function(msg){
var datas = eval('('+msg+')');
if(!datas.maxid){
return false;
}
//console.log(datas);
MAXID_S = datas.maxid;
var ret = datas.data;
$.each(ret,function(idx,item){
if(item.thumb=='' || item.thumb ){
item.thumb='http://www.d1net.com/statics/images/special/96/img_1.jpg';
}
var description=item.description.substring(0,140);
console.log(description);
$('#mains').prepend('<div class="content" id="conTexts"><div class="conImg"><img width="262px" height="200px" src="'+item.thumb+'" alt="" /></div><div class="conText"><p class="p1"><span>'+item.company+'</span>&nbsp;&nbsp;<span>'+item.position+'</span>&nbsp;&nbsp;<span>'+item.name+'</span></p><h2>'+item.title+'</h2><p class="text">'+description+'</p><p class="p2"><a href="'+item.url+'">详细</a>&nbsp;丨&nbsp;<a href="#">PPT</a>&nbsp;丨&nbsp;<a href="#">视频</a></p></div></div>');
})
}
})
},6000);
})
</script>
</div>

</div>

后台程序 

public function get_contents(){
$this->special_content = pc_base::load_model('special_content_model');
   $specialid=intval($_GET['specialid']);
   $typeid=intval($_GET['typeid']);
   $id=intval($_GET['contentid']);
   //echo json_encode($id);
   //  if(empty($id)){
   //   return false;
   // }
$where = '`specialid` = '.$specialid.' AND `typeid` = '.$typeid.' AND id > '.$id;
$data = $this->special_content->select($where,'*','0,100','id DESC');


$MAXID = $this->special_content->get_one($where,'id','id DESC');
// if($id==$MAXID){
// return false;
// }
// if($data){
// $SPECIALDATA = $data;
// ob_start();
// include template('special', 'ajax272');
// $html = ob_get_contents();
// ob_clean();
// }
echo json_encode(array(
'maxid'=>$MAXID['id'],
'data'=>$data
));


}

页面调用数据,数据需要倒序排列,获取现有的最大id ajax传输到后台,sql语句 查找比这个最大id大的数据,然后json_encode返回给页面处理,senterval定时刷新,

0 0