PHP+Mysql+jQuery实现动态展示信息


Posted in PHP onOctober 08, 2011

在本站前面有文章介绍了如何实现发表微博说说:PHP+Mysql+jQuery实现发布微博程序--jQuery篇,本例将基于其数据库结构,用动态的方式展示发表的说说信息。

查看示例:DEMO

XHTML
<div id="demo"> 
<div class="saylist"> 
<a href="#"><img src="images/0.jpg" width="50" height="50" alt="demo" /></a> 
<div class="saytxt"> 
<p><strong><a href="https://3water.com">Shuro</a></strong><span> 
8分钟前</span> 说:</p> 
<div class="say">评论内容。。。</div> 
</div> 
</div> 
... 
</div>

上述HTML结构由N个.saylist构成,用于展示用户的评论信息,当然在本例中,将由PHP负责生成这段XHTML代码。
CSS
#demo{width:400px; height:80px; margin:80px auto; border-bottom:1px dotted #d3d3d3} 
.saylist{margin:8px auto; height:80px; padding:4px 0;} 
.saylist img{float:left; width:50px; margin:4px} 
.saytxt{float:right; width:320px; overflow:hidden} 
.saytxt p{line-height:18px} 
.saytxt p strong{margin-right:6px} 
.saytxt p span{color:#999} 
.say{margin-top:3px; font-size:14px; font-weight:bold}

使用上述CSS渲染HTML外观,当然你也可以自己定制你喜欢的外观样式。
PHP
在function.php中有两个函数,formatSay()用来输出用户评论列表,即输出上文中的HTML。
function formatSay($say,$dt,$uid){ 
$say=htmlspecialchars(stripslashes($say)); 
return' 
<div class="saylist"><a href="#"><img src="images/'.$uid.'.jpg" width="50" 
height="50" alt="demo" /></a> 
<div class="saytxt"> 
<p><strong><a href="#">demo_'.$uid.'</a></strong> <span>'.tranTime($dt).'</span> 说: 
</p><div class="say">'.$say.'</div> 
</div> 
<div class="clear"></div> 
</div>'; 
}

时间轴函数tranTime()将时间转换成如“1小时前”的格式,详情可阅读本站文章:PHP实现时间轴函数
function tranTime($stime) { 
$rtime = date("m-d H:i",$stime); 
$htime = date("H:i",$stime); 
$day_time = date("j",$stime); 
$today=date("j",time()); 
$ds = $today - $day_time; 
$time = time() - $stime; 
if ($time < 60) { 
$str = '刚刚'; 
} 
elseif ($time < 60 * 60) { 
$min = floor($time/60); 
$str = $min.'分钟前'; 
} 
elseif ($time < 60 * 60 * 24) { 
$h = floor($time/(60*60)); 
$str = $h.'小时前 '.$htime; 
if($ds==1) 
$str = '昨天 '.$rtime; 
} 
elseif ($time < 60 * 60 * 24 * 2) { 
$str = '昨天 '.$rtime; 
if($ds==2) 
$str = '前天 '.$rtime; 
}elseif($time < 60 * 60 * 24 * 3){ 
$str = '前天 '.$rtime; 
if($ds>2) 
$str = $rtime; 
} 
else { 
$str = $rtime; 
} 
return $str; 
}

然后在index.php中调用funciton.php,并连接MySQL数据库输出评论列表。
require_once('connect.php'); //连接数据库文件 
require_once('function.php'); //函数文件 
$query=mysql_query("select * from say order by id desc limit 0,15"); 
while ($row=mysql_fetch_array($query)) { 
$sayList.=formatSay($row[content],$row[addtime],$row[userid]); 
}

在div#demo中输出评论列表。
<div id="demo"> 
<?php echo $sayList;?> 
</div>

这样一来,运行index.php会出现一个列表,我们只需要一条一条展示,下面就需要jQuery来办了。
jQuery
$(function(){ 
//除了显示第一个saylist,其他的都隐藏 
$(".saylist").hide().eq(0).show(); 
//自循环函数,循环展示信息 
(function showNextSay(){ 
//每条信息展示7.5秒 
$(".saylist:visible").delay(7500).fadeOut("slow",function(){ 
$(this).appendTo("#demo"); 
//展示下一条 
$(".saylist:first").fadeIn("slow",function(){ 
//再次调用函数 
showNextSay(); 
}); 
}); 
})(); 
});
PHP 相关文章推荐
elgg 获取文件图标地址的方法
Mar 20 PHP
PHP多线程抓取网页实现代码
Jul 22 PHP
深入解析PHP中逗号与点号的区别
Aug 05 PHP
php漏洞之跨网站请求伪造与防止伪造方法
Aug 15 PHP
php函数指定默认值方法的小例子
Dec 04 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 PHP
PHP、Python和Javascript的装饰器模式对比
Feb 03 PHP
php生成二维码
Aug 10 PHP
YII动态模型(动态表名)支持分析
Mar 29 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
PHP的mysqli_stmt_init()函数讲解
Jan 24 PHP
PHP实现的微信公众号扫码模拟登录功能示例
May 30 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
Oct 08 #PHP
php实现用户在线时间统计详解
Oct 08 #PHP
php 文件缓存函数
Oct 08 #PHP
php数字转汉字代码(算法)
Oct 08 #PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 #PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 #PHP
PHP下判断网址是否有效的代码
Oct 08 #PHP
You might like
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
jQuery控制图片的hover效果(smartRollover.js)
2012/03/18 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
浅析创建javascript对象的方法
2016/05/13 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
基于jQuery实现火焰灯效果导航菜单
2017/01/04 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
2020/04/09 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
python版本的仿windows计划任务工具
2018/04/30 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
Python进度条的制作代码实例
2019/08/31 Python
欧缇丽美国官网:Caudalie美国
2016/12/31 全球购物
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
PHP面试题集
2016/12/18 面试题
小班重阳节活动方案
2014/02/08 职场文书
经典团队口号大全
2014/06/21 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
教师个人考察材料
2014/12/16 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
大学升旗仪式主持词
2015/07/04 职场文书
Python中time与datetime模块使用方法详解
2022/03/31 Python