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 相关文章推荐
PHP 高手之路(三)
Oct 09 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
php 购物车完整实现代码
Jun 05 PHP
PHP实现单例模式最安全的做法
Jun 13 PHP
PHP简单选择排序算法实例
Jan 26 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
Mar 23 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
Dec 29 PHP
PHP实现对数组分页处理实例详解
Feb 07 PHP
PHP PDO操作MySQL基础教程
Jun 05 PHP
PHP连续签到功能实现方法详解
Dec 04 PHP
PHP date_default_timezone_set()设置时区操作实例分析
May 16 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中通过curl smtp发送邮件
2012/06/05 PHP
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
php等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
javascript 简单抽屉效果的实现代码
2010/03/09 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
jquery 实现窗口的最大化不论什么情况
2013/09/03 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
浅析javascript中的Event事件
2016/12/09 Javascript
jquery+html仿翻页相册功能
2016/12/20 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
jQuery使用方法
2017/02/04 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
js实现网页定位导航功能
2017/03/07 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
代码整洁之道(重构)
2018/10/25 Javascript
Vuex的初探与实战小结
2018/11/26 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python中的测试模块unittest和doctest的使用教程
2015/04/14 Python
Python的IDEL增加清屏功能实例
2017/06/19 Python
python利用urllib和urllib2访问http的GET/POST详解
2017/09/27 Python
Python2和Python3的共存和切换使用
2019/04/12 Python
python实现简单颜色识别程序
2020/02/19 Python
python 爬虫 实现增量去重和定时爬取实例
2020/02/28 Python
Otel.com:折扣酒店预订
2017/08/24 全球购物
投资意向书
2014/07/30 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
单位婚育证明范本
2014/11/21 职场文书
2016优秀大学生个人事迹材料范文
2016/03/01 职场文书
解析MySQL索引的作用
2022/03/03 MySQL