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+MYSQL的文章管理系统(一)
Oct 09 PHP
PHP编程之高级技巧——利用Mysql函数
Oct 09 PHP
PHP实现MySQL更新记录的代码
Jun 07 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
Jun 26 PHP
php switch语句多个值匹配同一代码块应用示例
Jul 29 PHP
php文件缓存类汇总
Nov 21 PHP
PHP导入导出Excel代码
Jul 07 PHP
php array_key_exists() 与 isset() 的区别
Oct 24 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
Jan 11 PHP
ThinkPHP中create()方法自动验证表单信息
Apr 28 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
基于PHP实现微信小程序客服消息功能
Aug 12 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设计模式 Mediator (中介者模式)
2011/06/26 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
客户端 使用XML DOM加载json数据的方法
2010/09/28 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
js生成缩略图后上传并利用canvas重绘
2014/05/15 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
基于Vue实现页面切换左右滑动效果
2020/06/29 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
2017/12/11 Javascript
web前端vue之CSS过渡效果示例
2018/01/10 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
浅谈React的最大亮点之虚拟DOM
2018/05/29 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
python中requests模块的使用方法
2015/04/08 Python
python中os模块详解
2016/10/14 Python
Python自动生产表情包
2017/03/17 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
python3 unicode列表转换为中文的实例
2018/10/26 Python
python调用c++ ctype list传数组或者返回数组的方法
2019/02/13 Python
在python中使用nohup命令说明
2020/04/16 Python
Python如何转换字符串大小写
2020/06/04 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
python批量生成条形码的示例
2020/10/10 Python
关于css兼容性问题及一些常见问题汇总
2016/05/03 HTML / CSS
Black Halo官方网站:购买连衣裙、礼服和连体裤
2018/06/13 全球购物
敏捷开发的主要原则都有哪些
2015/04/26 面试题
信息专业个人的自我评价
2013/12/27 职场文书
幼儿园毕业寄语
2014/04/03 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
导游词之镇江焦山
2019/11/21 职场文书