下一篇 » « 上一篇

树状BBS设计参考

作者:爱好者    时间:2008-01-22    来源:php之家    点击:32890    本文共1篇文章 字体:[ ]

树状BBS设计参考

简单 BBS 系统 需 MySQL。
     以下是BBS的表结构,用以下的语句就可以建立:   

        CREATE TABLE bbsMessage
        (
            ID INT NOT NULL AUTO_INCREMENT,
            Title VARCHAR(64),
            Poster VARCHAR(64),
            Created DATETIME,
            Parent INT,
            Body BLOB,
            PRIMARY KEY(ID)
        ); www.444p.com版权所有

<HTML>
<HEAD>
<TITLE>This is my BBS</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?
     /******************************************************
     BBS v1.0
     编码: PHP 3   
     作者: Leon Atkinson < leon.atkinson@clearink.com >
    
     简单 BBS 系统 需 MySQL。
     以下是BBS的表结构,用以下的语句就可以建立:    本文来自 www.444p.com

        CREATE TABLE bbsMessage
        (
            ID INT NOT NULL AUTO_INCREMENT,
            Title VARCHAR(64),
            Poster VARCHAR(64),
            Created DATETIME,
            Parent INT,
            Body BLOB,
            PRIMARY KEY(ID)
        ); 本文来自 www.444p.com

    *******************************************************/ www.444p.com

    printf( "<H1>Leon's BBS</H1>\n"); php学习之家http://www.444p.com

     /* 设置数据库 */
    mysql_pconnect( "www.yoursever.com",  "httpd");
    $Database =  "yourdb";

www.444p.com

     /****************************************************************
     一个吐出派生信息的递归函数
    ****************************************************************/
    function showMessages($parentID)
    {
        global $Database;

www.444p.com

        $dateToUse = Date( "U");

        echo  "<UL>\n"; php学习之家

         /* 显示所有的类别 */         
        $Query =  "SELECT * FROM bbsMessage ";
        $Query = $Query .  "WHERE Parent=$parentID ";
        $Query = $Query .  "ORDER BY Created ";

php学习之家http://www.444p.com

        $result = mysql($Database,$Query);
        $numRows = mysql_NumRows($result);
        $RowCount = 0;
        while($RowCount < $numRows)
        {
            $messageID = mysql_result($result,$RowCount, "ID");
            $messageTitle = mysql_result($result,$RowCount, "Title");
            $messageCreated = mysql_result($result,$RowCount, "Created");
            $messageParent = mysql_result($result,$RowCount, "Parent");

php学习之家

             /*显示一行是什么类别的信息 */     
            printf( "<LI>($messageCreated) <A HREF=\"bbs.htma?messageID=$messageID\">$messageTitle</A><BR>\n");
    
             /* 调用 getWingContents 以得到它的分支 */
            showMessages($messageID); 本文来自 www.444p.com

            $RowCount++;
        } php学习之家

        echo  "</UL>\n";
    }

     /****************************************************************
     输出一个提交新信息的表单,并在其中预置一个父ID
    ****************************************************************/
    function postForm($parentID, $useTitle)
    {
        printf( "<FORM ACTION=\"bbs.htma\" METHOD=\"post\">\n");
        printf( "<INPUT TYPE=\"hidden\" NAME=\"inputParent\" VALUE=\"$parentID\">");
        printf( "<INPUT TYPE=\"hidden\" NAME=\"ACTION\" VALUE=\"POST\">");
        printf( "<TABLE BORDER=\"1\" CELLSPACING=\"0\" CELLPADDING=\"5\" WIDTH=\"400\">\n");
        printf( "<TR><TD WIDTH=\"100\"><B>Title</B></TD>");
        printf( "<TD WIDTH=\"300\"><INPUT TYPE=\"text\" NAME=\"inputTitle\" SIZE=\"35\" MAXLENGTH\"64\" VALUE=\"$useTitle\"></TD></TR>\n");


        printf( "<TR><TD WIDTH=\"100\"><B>Poster</B></TD>");
        printf( "<TD WIDTH=\"300\"><INPUT TYPE=\"text\" NAME=\"inputPoster\" SIZE=\"35\" MAXLENGTH\"64\"></TD></TR>\n");
        printf( "<TR><TD COLSPAN=\"2\" WIDTH=\"400\">");
        printf( "<TEXTAREA NAME=\"inputBody\" COLS=\"45\" ROWS=\"5\"></TEXTAREA></TD></TR>\n");
        printf( "<TR><TD COLSPAN=\"2\" WIDTH=\"400\"><CENTER><INPUT TYPE=\"submit\" VALUE=\"Post\"></CENTER></TD></TR>\n");
        printf( "</TABLE>\n");
        printf( "</FORM>\n");

php学习之家

    } www.444p.com

     /******************************************************
    执行动作
    ******************************************************/
    if($ACTION !=  "")
    {
        if($ACTION ==  "POST")
        {
            $inputTitle = ereg_replace( "'",  "''", $inputTitle);
            $inputBody = ereg_replace( "'",  "''", $inputBody);

php学习之家

            $Query =  "INSERT INTO bbsMessage ";
            $Query .=  "VALUES(0, '$inputTitle', ";
            $Query .=  "'$inputPoster', ";
            $Query .=  "now(), $inputParent, ";
            $Query .=  "'$inputBody')";
    
            $result = mysql($Database,$Query);

www.444p.com


        }

本文来自 www.444p.com

    }

www.444p.com版权所有


     /******************************************************
     显示信息或者是显示信息列表
    ******************************************************/
    if($messageID > 0)
    {
        $Query =  "SELECT * FROM bbsMessage ";
        $Query = $Query .  "WHERE ID=$messageID "; www.444p.com版权所有

        $result = mysql($Database,$Query);
        $numRows = mysql_NumRows($result);
        $RowCount = 0;
        if($RowCount < $numRows)
        {
            $messageID = mysql_result($result,$RowCount, "ID");
            $messageTitle = mysql_result($result,$RowCount, "Title");
            $messagePoster = mysql_result($result,$RowCount, "Poster");
            $messageCreated = mysql_result($result,$RowCount, "Created");
            $messageParent = mysql_result($result,$RowCount, "Parent");
            $messageBody = mysql_result($result,$RowCount, "Body");

php学习之家

            printf( "<TABLE BORDER=\"1\" CELLSPACING=\"0\" CELLPADDING=\"5\" WIDTH=\"400\">\n");
            printf( "<TR><TD WIDTH=\"100\"><B>Title</B></TD><TD WIDTH=\"300\">$messageTitle</TD></TR>\n");
            printf( "<TR><TD WIDTH=\"100\"><B>Poster</B></TD><TD WIDTH=\"300\">$messagePoster</TD></TR>\n");
            printf( "<TR><TD WIDTH=\"100\"><B>Posted</B></TD><TD WIDTH=\"300\">$messageCreated</TD></TR>\n");
            printf( "<TR><TD COLSPAN=\"2\" WIDTH=\"400\">$messageBody</TD></TR>\n");
            printf( "</TABLE>\n");

www.444p.com

            postForm($messageID,  "RE: $messageTitle");

        }
        

www.444p.com php学习之家

        echo  "<A HREF=\"bbs.htma\">List of Messages</A><BR>";

php学习之家http://www.444p.com

    }
    else
    {
        printf( "<H2>List of Messages</H2>\n"); 本文来自 www.444p.com

         /* 调用递归函数*/
        showMessages(0); www.444p.com

        postForm(0,  "");

    }

本文来自 www.444p.com

?>

www.444p.com php学习之家

</BODY>
</HTML>

php学习之家http://www.444p.com

发表评论
密码: (游客不需要密码)
记住我【Alt+S 或 Ctrl+Enter 快速提交】

搜索工具


《PHP精通》点击排行