六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

樹型論壇遞歸加速

[摘要]樹型論壇遞歸加速一般的論壇都遞歸整個表如果僅遞歸result,那么速度會加快不少,況且訪問result是訪問服務器內存.我們一般通過下面的語句使游標移動while(row=mysql_fetch_a...
樹型論壇遞歸加速
一般的論壇都遞歸整個表
如果僅遞歸result,那么速度會加快不少,況且訪問result是訪問服務器內存.
我們一般通過下面的語句使游標移動
while($row=mysql_fetch_array($res))
其原理是當mysql_fetch_array($res)每執行一次則游標自動下移,直到結束為止
但是遞歸result時,我們只有一個result,當游標不定時,我們無法知道當前游標記錄是否符合我們的要求
php提供了一個函數讓用戶自己指定游標位置
bool mysql_data_seek ( resource result_identifier, int row_number)
這個函數大家應該能看懂吧
下面我來講講我的思路.
為實現論壇分頁,表結構設計如下:
表名:newestbbs(最新帖子 以最后回復時間排序)
結構:
id 只記錄根帖的id
time 如果沒有回帖,則為根帖提交時間,否則為最后回帖提交時間
表名:bbs
結構:
id 帖子本身的id
fathered 父帖id
rootid根帖id
time發帖時間
……….其它field
思路:
先由newestbbs得到最新帖列表(比如每頁列表20條根帖 select id from newestbbs order by time limit 頁數-1,20)
得到result后從整個bbs表里得到并顯示所有result的根帖
while(bbs=mysql_fetch_array($result))
{
select * from bbs where rootid=bbs[‘id’] order by time //(由此得到第二個result,命名為res)
$root=mysql_fetch_array(res)
顯示根帖
dispreplybbs($root[‘id’],$res) //遞歸顯示此帖所有回帖
}
遞歸函數如下:
 function dispreplybbs($id,$mysqlres)
 {
 for($i=0;$i<mysql_num_rows($mysqlres);$i++)
 {
 mysql_data_seek($mysqlres,$i) //將游標移動到指定位置
 bbsreply=mysql_fetch_array($mysqlres) //得到此游標位置帖子的內容
 if(bbsreply[‘fatherid’]==$id)
 {
 //判斷此帖的父帖id是否為給定的id
 //如果是則縮回顯示
 dispreplybbs($bbsreply[‘id’],$mysqlres)//并且再遞歸搜索其有沒有子帖
 //如果不是則判斷下一條
 }
 } //循環所有result
 }


如有異議,請回帖或mailto: [email protected].本文無版權保護,歡迎隨意修改轉載




主站蜘蛛池模板: 日韩毛片免费视频一级特黄 | 欧美午夜精品久久久久免费视 | 色综合欧美 | 色综合久久久久久久久久久 | 人妖女天堂视频在线96 | 一级毛片一级毛片一级毛片一级毛片 | 色爱区综合 | 一级做a爰片久久毛片美女 一级做a爰片久久毛片毛片 | 亚洲精品中文字幕午夜 | 亚洲国产成a人v在线观看 | 四虎最新网址 | 特级欧美老少乱配 | 欧美一级做a爰片免费 | 日日夜夜精品免费视频 | 天天狠狠干 | 欧美性生活视频免费播放网址大全观看 | 青青草久热精品视频在线观看 | 天堂免费 | 亚洲精品在线网址 | 日本五级床片全都免费播放 | 欧美午夜成年片在线观看 | 中文字幕亚洲一区二区v@在线 | 午夜久| 特级做a爰片毛片免费看 | 日日人人 | 青青在线精品视频 | 亚洲日韩视频免费观看 | 综合激情五月婷婷 | 日本不卡免费高清一级视频 | 亚洲精品乱码久久久久久麻豆 | 日韩欧美亚洲综合久久影院d3 | 亚洲综合视频 | 日韩精品欧美国产精品忘忧草 | 日韩专区亚洲国产精品 | 亚洲福利国产 | 欧美又大粗又爽又黄大片视频黑人 | 亚洲国产午夜看片 | 色综合久久久久久中文网 | 日本在线观看视频网站 | 夜夜爽一区二区三区精品 | 天天干夜夜爽 |