PHP + MYSQL を使用して、フォーラムの階層 + ページング表示を実装します。

WBOY
リリース: 2016-06-21 09:02:53
オリジナル
1548 人が閲覧しました
PHP + MYSQL を使用してフォーラムの階層 + ページング表示を実装します

<
/*投稿を保存するためのテーブル構造-------------- -- -------------------------------------

テーブル bbsrow(
bbsrow_id int(6) not null auto_increment, //投稿 ID 番号
bbsrow_auth varchar(20) not null, //投稿者
bbsrow_parentid int(6), //投稿者の父親の投稿 ID 番号post 、最初の投稿の場合は空になります
bbsrow_title varchar(200) not null, //投稿タイトル
bbsrow_returncount int(3), //投稿への返信数 (存在する場合)応答なし、空になります
主キー (bbsrow_id)
); -------------------------------------------------------* /


//息子が投稿した再帰関数を表示------------------------------ --------------- -----------
function showchildren($parent_id){
global $connect_id
$query=" select * from bbsrow where bbsrow_parentid='" . $parent_id . "' "; " lt ;li>";
echo $myrow_child[0];
echo $myrow_child[1];
echo $myrow_child [2];
echo $myrow_child[3];
e cho $myrow_child[4]; > showchildren($myrow_child[0]);
}
}
echo ""
}
//---------- ------- -------------------------------- ----------

//データベースに接続し、すべての最初の投稿を $mainrow 配列に入れます------ ---------

$connect_id= mysql_connect("localhost","test","test") または die("データベースに接続できません");
mysql_select_db("bbs" ) または die("データベースを選択できません"); query="select * from 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]; 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)
$totalpage=$i/$ページサイズ;

/" . ceil($totalpage) . "page
n";
echo $info;

if($page>0) $pagestr="< ;a href=bbsrow.php4 ?currentpage=" . ($page-1) . ">前のページ";
$pagestr=$pagestr . " [page"; 0;$i<$ totalpage;$i++){
if($i!=$page){
$pagestr=$pagestr . " " $i+1) . " ";
}
. " ";
}
}

$pagestr . "ページ]"; 次のページ

n";

echo $pagestr ;
//------------------------------------------ ------ -----------------------

//階層表示開始 -------------------------------------- --- -------------

echo "

    n";
    for($i=$start;$i<$end;$i++ ){
    echo "
  • n";
    echo $mainrow[$i][0];
    echo $mainrow[$]; i][ 2];
    echo $mainrow[$i][3];
    echo $mainrow[$i][4] "n";空ではありません。息子の投稿がある場合、息子の投稿を表示し続けることを意味します
    if($mainrow[$i][4]!=''){
    showchildren($mainrow[$i][0] );
    }
    }
    エコー "
"; ---------- -------------------------------------- ?>




関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート