日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

樹型論壇遞歸加速

樹型論壇遞歸加速

更新時間:2022-04-30 文章作者:未知 信息來源:網絡 閱讀次數:

樹型論壇遞歸加速
一般的論壇都遞歸整個表
如果僅遞歸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: chensiping@163.net.本文無版權保護,歡迎隨意修改轉載

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 欧美日韩一区二区三区在线 | 2018高清国产一道国产 | 精品国产欧美一区二区三区成人 | 免费午夜视频在线观看 | 日日噜噜噜夜夜爽爽狠狠69 | 狠狠色综合网站 | 91精品国产综合久久婷婷 | 色男人天堂 | 国产精品成人影院 | 国产毛片一区二区三区精品 | 九色视频在线观看 | 国产亚洲一区二区三区不卡 | 国产成人精品高清免费 | 久久久黄色片 | 性欧美大战久久久久久久久 | 国产麻豆精品在线观看 | 欧洲久久 | 亚洲一区免费观看 | 欧美成在线视频 | 最近中文字幕精彩视频 | 国产亚洲精品一区二区三区 | 国产91av在线 | 999久久狠狠免费精品 | 日本三级韩国三级欧美三级 | 99久久精品免费看国产四区 | 日韩精品福利片午夜免费 | 99久久精品无码一区二区毛片 | www.91亚洲| 亚洲欧美日韩在线线精品 | 久久观看午夜精品 | 免费网页 | 日本久久视频 | 久久综合成人 | 天天操天天操 | 免费视频爰爱太爽了 | 亚洲春色综合另类网蜜桃 | 视频一区二区不卡 | 在线成人97观看 | 国产成人精品三级91在线影院 | 亚洲精品123区 | 久久99久久精品视频 |