PHP+Mysql+jQuery實(shí)現(xiàn)動(dòng)態(tài)展示信息
查看示例: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.dbjr.com.cn">Shuro</a></strong><span>
8分鐘前</span> 說(shuō):</p>
<div class="say">評(píng)論內(nèi)容。。。</div>
</div>
</div>
...
</div>
上述HTML結(jié)構(gòu)由N個(gè).saylist構(gòu)成,用于展示用戶的評(píng)論信息,當(dāng)然在本例中,將由PHP負(fù)責(zé)生成這段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外觀,當(dāng)然你也可以自己定制你喜歡的外觀樣式。
PHP
在function.php中有兩個(gè)函數(shù),formatSay()用來(lái)輸出用戶評(píng)論列表,即輸出上文中的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> 說(shuō):
</p><div class="say">'.$say.'</div>
</div>
<div class="clear"></div>
</div>';
}
時(shí)間軸函數(shù)tranTime()將時(shí)間轉(zhuǎn)換成如“1小時(shí)前”的格式,詳情可閱讀本站文章:PHP實(shí)現(xiàn)時(shí)間軸函數(shù)
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.'小時(shí)前 '.$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中調(diào)用funciton.php,并連接MySQL數(shù)據(jù)庫(kù)輸出評(píng)論列表。
require_once('connect.php'); //連接數(shù)據(jù)庫(kù)文件
require_once('function.php'); //函數(shù)文件
$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中輸出評(píng)論列表。
<div id="demo">
<?php echo $sayList;?>
</div>
這樣一來(lái),運(yùn)行index.php會(huì)出現(xiàn)一個(gè)列表,我們只需要一條一條展示,下面就需要jQuery來(lái)辦了。
jQuery
$(function(){
//除了顯示第一個(gè)saylist,其他的都隱藏
$(".saylist").hide().eq(0).show();
//自循環(huán)函數(shù),循環(huán)展示信息
(function showNextSay(){
//每條信息展示7.5秒
$(".saylist:visible").delay(7500).fadeOut("slow",function(){
$(this).appendTo("#demo");
//展示下一條
$(".saylist:first").fadeIn("slow",function(){
//再次調(diào)用函數(shù)
showNextSay();
});
});
})();
});
- PHP+Mysql+jQuery實(shí)現(xiàn)發(fā)布微博程序 jQuery篇
- jQuery結(jié)合PHP+MySQL實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)下拉列表[實(shí)例]
- 解決PHP mysql_query執(zhí)行超時(shí)(Fatal error: Maximum execution time …)
- PHP的mysqli_query參數(shù)MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的區(qū)別
- 基于PHP+jQuery+MySql實(shí)現(xiàn)紅藍(lán)(頂踩)投票代碼
- jQuery+Ajax+PHP+Mysql實(shí)現(xiàn)分頁(yè)顯示數(shù)據(jù)實(shí)例講解
- 如何解決PHP使用mysql_query查詢超大結(jié)果集超內(nèi)存問(wèn)題
相關(guān)文章
無(wú)法在發(fā)生錯(cuò)誤時(shí)創(chuàng)建會(huì)話,請(qǐng)檢查 PHP 或網(wǎng)站服務(wù)器日志,并正確配置 PHP 安裝(win+linux)
今天幫客戶配置服務(wù)器的時(shí)候運(yùn)行phpmyadmin出現(xiàn)了“無(wú)法在發(fā)生錯(cuò)誤時(shí)創(chuàng)建會(huì)話,請(qǐng)檢查 PHP 或網(wǎng)站服務(wù)器日志,并正確配置 PHP 安裝?!钡腻e(cuò)誤,經(jīng)排查原來(lái)是權(quán)限問(wèn)題,大家可以參考下面的方法解決2012-05-05PHP基于二分法實(shí)現(xiàn)數(shù)組查找功能示例【循環(huán)與遞歸算法】
這篇文章主要介紹了PHP基于二分法實(shí)現(xiàn)數(shù)組查找功能,結(jié)合實(shí)例形式分析了while循環(huán)與遞歸調(diào)用算法實(shí)現(xiàn)二分查找功能的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12PHP平滑關(guān)閉/重啟的實(shí)現(xiàn)方法
"平滑重啟"和"快速重啟"是兩種不同的概念,下面這篇文章主要給大家介紹了關(guān)于PHP平滑關(guān)閉/重啟的實(shí)現(xiàn)方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05PHP獲取數(shù)組中某元素的位置及array_keys函數(shù)應(yīng)用
獲取數(shù)組中一元素的位置有很多方法,其中PHP自身就已經(jīng)內(nèi)置了一個(gè)函數(shù)array_keys(),下邊的代碼能夠打印出所有PHP的內(nèi)置函數(shù),感興趣的朋友可以了解下同時(shí)學(xué)習(xí)一下函數(shù)array_keys()的使用方法,就當(dāng)鞏固知識(shí)量啦2013-01-01PHP-CGI遠(yuǎn)程代碼執(zhí)行漏洞分析與防范
本文給大家介紹的是PHP-CGI遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2012-1823)分析和防范,這是最近爆出的一個(gè)php的比較嚴(yán)重的漏洞,這里分享給大家。2017-05-05PHP實(shí)現(xiàn)sha-256哈希算法實(shí)例代碼
最近在PHP項(xiàng)目中使用到了hmac_sha256加密方式,下面這篇文章主要給大家介紹了關(guān)于PHP實(shí)現(xiàn)sha-256哈希算法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01php+mysqli批量查詢多張表數(shù)據(jù)的方法
這篇文章主要介紹了php+mysqli批量查詢多張表數(shù)據(jù)的方法,涉及multi_query、store_result及more_results等函數(shù)的使用技巧,需要的朋友可以參考下2015-01-01PHP實(shí)現(xiàn)簡(jiǎn)單ajax Loading加載功能示例
這篇文章主要介紹了PHP實(shí)現(xiàn)簡(jiǎn)單ajax Loading加載功能的方法,結(jié)合實(shí)例形式分析了ajax加載的原理、操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-12-12