Home > php教程 > php手册 > body text

用PHP+MYSQL实现论坛里的分级+分页显示

WBOY
Release: 2016-06-21 09:02:53
Original
1547 people have browsed it
用PHP+MYSQL实现论坛里的分级+分页显示


/*存放贴子的表结构------------------------------------------------------

create table bbsrow(
    bbsrow_id int(6) not null auto_increment,  //贴子ID号
    bbsrow_auth varchar(20) not null,  //贴子作者
    bbsrow_parentid int(6),  //贴子的父亲贴子ID号,如为首发贴则为空
    bbsrow_title varchar(200) not null,  //贴子标题
    bbsrow_returncount int(3),  //贴子的回复贴数,如果没有回贴则为空
    primary key (bbsrow_id)
);
-----------------------------------------------------------------------------*/


//显示儿子贴的递归函数--------------------------------------------------
function showchildren($parent_id){
    global $connect_id;
    $query="select * from bbsrow where bbsrow_parentid='" . $parent_id . "'";     
    $result_top=mysql_query($query,$connect_id);
    echo "
    n";
        while($myrow_child=mysql_fetch_row($result_top)){
            echo "
  • ";
            echo $myrow_child[0];
            echo $myrow_child[1];
            echo $myrow_child[2];
            echo $myrow_child[3];
            echo $myrow_child[4] . "n";
            //如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴
            if($myrow_child[4]!=''){
                showchildren($myrow_child[0]);
            }
        }
        echo "
";
}
//----------------------------------------------------------------------

//连接数据库并将所有首发贴放到$mainrow数组里----------------------------

$connect_id=mysql_connect("localhost","test","test") or die("无法连接数据库");
mysql_select_db("bbs") or die("无法选择数据库");
$query="select * from bbsrow where bbsrow_parentid=''";
$result=mysql_query($query,$connect_id);

$i=0;
while($myrow=mysql_fetch_row($result)) {
    $mainrow[$i][0]=$myrow[0];
    $mainrow[$i][1]=$myrow[1];
    $mainrow[$i][2]=$myrow[2];
    $mainrow[$i][3]=$myrow[3];
    $mainrow[$i][4]=$myrow[4];
    $i++;
}
mysql_free_result($result);
//----------------------------------------------------------------------

//开始构建分页显示------------------------------------------------------

if($currentpage!=""){
    $page=$currentpage;
}
else{
    $page=0;
}

$pagesize=10;//每页显示的首发贴数!
$start=$page*$pagesize;
$end=$start+$pagesize;
if($end>$i) $end=$i;
$totalpage=$i/$pagesize;

     
$info=" 共有" . $i . "条纪录,分" . ceil($totalpage) . "页,当前为第" . ($page+1) . "/" . ceil($totalpage) . "页
n";
echo $info;

if($page>0) $pagestr="上一页";
$pagestr=$pagestr . " [第 ";
     
for($i=0;$i    if($i!=$page){
        $pagestr=$pagestr . " " . ($i+1) . " ";
    }
    else{
        $pagestr=$pagestr . " " . ($i+1) . " ";
    }
}

$pagestr=$pagestr . "页]";
     
if($page下一页

n";
     
echo $pagestr;
//----------------------------------------------------------------------

//开始分级显示----------------------------------------------------------

echo "

    n";
    for($i=$start;$i    echo "
  • n";
        echo $mainrow[$i][0];
        echo $mainrow[$i][1];
        echo $mainrow[$i][2];
        echo $mainrow[$i][3];
        echo $mainrow[$i][4] . "n";
        //如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴
        if($mainrow[$i][4]!=''){
            showchildren($mainrow[$i][0]);
        }
    }
    echo "
n";
//----------------------------------------------------------------------?> 



Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template