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配置文件中最常用四个ini函数
Mar 19 PHP
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
Apr 16 PHP
php提示undefined index的几种解决方法
May 21 PHP
用php制作简单分页(从数据库读取记录)的方法详解
May 04 PHP
php删除文本文件中重复行的方法
Apr 28 PHP
Yii编程开发常见调用技巧集锦
Jul 15 PHP
深入了解PHP中的Array数组和foreach
Nov 06 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
PHP中常用的魔术方法
Apr 28 PHP
PHP设计模式之模板方法模式定义与用法详解
Apr 02 PHP
Bootstrap+PHP实现多图上传功能实例详解
Apr 08 PHP
Laravel框架基于ajax实现二级联动功能示例
Jan 17 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
新浪中用来显示flash的函数
2007/04/02 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
2016/06/17 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
利用node.js如何创建子进程详解
2017/12/09 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
vue使用axios上传文件(FormData)的方法
2019/04/14 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
在Python中定义和使用抽象类的方法
2016/06/30 Python
python的常见矩阵运算(小结)
2019/08/07 Python
Python常用模块logging——日志输出功能(示例代码)
2019/11/20 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
HTML5自定义视频播放器源码
2020/01/06 HTML / CSS
加拿大领先的牛仔零售商:Bluenotes
2018/01/22 全球购物
工程造价管理专业大专生求职信
2013/10/06 职场文书
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
最新创业融资计划书
2014/01/19 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
村级四风对照检查材料
2014/08/24 职场文书
2014年加油站工作总结
2014/12/04 职场文书
中秋客户感谢信
2015/01/22 职场文书
就业推荐表院系意见
2015/06/05 职场文书
情况说明书怎么写
2015/10/08 职场文书
go开发alertmanger实现钉钉报警
2021/07/16 Golang