无刷新动态加载数据 滚动条加载适合评论等页面

yipeiwu_com6年前PHP代码库
滚屏加载更多数据,适合评论等页面

本例的数据库很简单,一看就明了
 
复制代码 代码如下:

<div id="container">

<?php
$query=mysql_query("select * from content order by id desc limit 0,10");
while ($row=mysql_fetch_array($query)) {
?>
<div class="single_item">
<div class="element_head">
<div class="date"><?php echo date('m-d H:i',strtotime($row['updatetime']));?></div>
<div class="author"><?php echo $row['id'];?></div>
</div>
<div class="content"><?php echo $row['message'];?></div>
</div>
<?php } ?>
</div>
<div class="nodata"></div>

js文件
复制代码 代码如下:

<script type="text/javascript">
$(function(){
var winH = $(window).height(); //页面可视区域高度
var i = 1;
$(window).scroll(function () {
var pageH = $(document.body).height();
var scrollT = $(window).scrollTop(); //滚动条top
var aa = (pageH-winH-scrollT)/winH;
if(aa<0.02){
$.getJSON("result.php",{page:i},function(json){
if(json){
var str = "";
$.each(json,function(index,array){
var str = "<div class=\"single_item\"><div class=\"element_head\">";
var str = str + "<div class=\"date\">"+array['date']+"</div>";
var str = str + "<div class=\"author\">"+array['author']+"</div>";
var str = str + "</div><div class=\"content\">"+array['content']+"</div></div>";
$("#container").append(str);
});
i++;
}else{
$(".nodata").show().html("别滚动了,已经到底了。。。");
return false;
}
});
}
});
});
</script>

result.php
复制代码 代码如下:

<?php
include("conn.php");

$page = intval($_GET['page']); //获取请求的页数
$start = $page*5;
$query=mysql_query("select * from content order by id desc limit $start,5");
while ($row=mysql_fetch_array($query)) {
$arr[] = array(
'content'=>$row['message'],
'author'=>$row['id'],
'date'=>date('m-d H:i',strtotime($row['updatetime']))
);
}
echo json_encode($arr); //转换为json数据输出
?>

相关文章

php结合ACCESS的跨库查询功能

问题说明: 有时需要在两个或三个数据库的表中,通过相关关键字,查询获取所需记录集,用一般的SQL查询语句是实现不了的,可通过ACCESS的跨库查询功能实现。  解决方法: 例如“装材类型...

PHP 多进程与信号中断实现多任务常驻内存管理实例方法

PHP 多进程与信号中断实现多任务常驻内存管理实例方法

本文章基于 pcntl 扩展做的多进程测试。 进程调度策略 父子进程的调度由操作系统来负责,具体先调度子进程还是父进程由系统的调度算法决定,当然可以在父进程加上延时或是调用进程回收函数...

PHP的时间戳与具体时间转化的简单实现

三个内置函数: time() //获取UNIX系统时间戳 mktime(hour,minute,second,month,day,year) //将指定时间转化为时间戳 d...

如何用C语言编写PHP扩展的详解

如何用C语言编写PHP扩展的详解

1:预定义在home目录,也可以其他任意目录,写一个文件,例如caleng_module.def内容是你希望定义的函数名以及参数:int a(int x,int y)string b(s...

PHP实现的MD5结合RSA签名算法实例

本文实例讲述了PHP实现的MD5结合RSA签名算法。分享给大家供大家参考,具体如下: <?php class Md5RSA{ /** * 利用约定数据和私钥生...