PHP+Mysql+jQuery实现动态展示信息
2015-01-24信息快讯网
在本文中,我将介绍如何在页面上实现动态展示用户发表的信息,将用户发表的信息逐条播放展示。该效果可以在展示系统动态、商品评论等场景应用
在本站前面有文章介绍了如何实现发表微博说说: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="http://www.jb51.net">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(); }); }); })(); });
深入phpMyAdmin的安装与配置的详细步骤
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
使用php实现下载生成某链接快捷方式的解决方法
解决phpmyadmin中缺少mysqli扩展问题的方法
LotusPhp笔记之:Logger组件的使用方法
PHPMailer邮件发送的实现代码
基于Zookeeper的使用详解
php中使用$_REQUEST需要注意的一个问题
php中get_headers函数的作用及用法的详细介绍
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
PHP/Javascript/CSS/jQuery常用知识大全详细整理第1/2页
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
表格展示无限级分类(PHP版)
php数据结构与算法(PHP描述) 快速排序 quick sort
PHP实现时间轴函数代码
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
php实现用户在线时间统计详解
php 文件缓存函数
php数字转汉字代码(算法)
PHP判断远程url是否有效的几种方法小结
Admin generator, filters and I18n
php XMLWriter类的简单示例代码(RSS输出)
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
php错误提示failed to open stream: HTTP request failed!的完美解决方法
jQuery 源码分析笔记
php中神奇的fastcgi_finish_request
豫园商城立起三羊花灯 13项非遗项目集中展示
豫园商城立起三羊花灯 13项非遗项目集中展示
搭eDM技术 捷豹路虎展示两款混动概念车