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方法调用模式与函数调用模式简例
Sep 20 PHP
如何用C语言编写PHP扩展的详解
Jun 13 PHP
PHP中常用的转义函数
Feb 28 PHP
php自动识别文件编码并转换为UTF-8的方法
Jun 12 PHP
PHP制作万年历
Jan 07 PHP
PHP动态规划解决0-1背包问题实例分析
Mar 23 PHP
php创建多级目录的方法
Mar 24 PHP
为你总结一些php系统类函数
Oct 21 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
Dec 18 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
Mar 18 PHP
Laravel中unique和exists验证规则的优化详解
Jan 28 PHP
Laravel 自动生成验证的实例讲解:login / logout
Oct 14 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开发中四种查询返回结果分析
2011/01/02 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
2014/03/20 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
2015/01/07 Javascript
jquery中attr和prop的区别分析
2015/03/16 Javascript
使用AngularJS实现可伸缩的页面切换的方法
2015/06/19 Javascript
浅谈jquery中delegate()与live()
2015/06/22 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
2015/10/12 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
ES6学习之变量的解构赋值
2017/02/12 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
VUE.CLI4.0配置多页面入口的实现
2019/11/25 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
详解Python中的日志模块logging
2015/06/19 Python
Pthon批量处理将pdb文件生成dssp文件
2015/06/21 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
python word转pdf代码实例
2019/08/16 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
Python tkinter模版代码实例
2020/02/05 Python
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
股份转让协议书
2014/04/12 职场文书
《春笋》教学反思
2014/04/15 职场文书
2014年村委会工作总结
2014/11/24 职场文书
工作保证书怎么写
2015/02/28 职场文书
党员身份证明材料
2015/06/19 职场文书
MySQL大小写敏感的注意事项
2021/05/24 MySQL
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis