ホームページ > php教程 > php手册 > PHP + MYSQL を使ってフォーラムの階層 + ページング表示を簡単に実装するルーチンを書きました! (非常に詳細です。効率は最適ではありませんが、非常に...

PHP + MYSQL を使ってフォーラムの階層 + ページング表示を簡単に実装するルーチンを書きました! (非常に詳細です。効率は最適ではありませんが、非常に...

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-21 09:13:05
オリジナル
1004 人が閲覧しました

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) , // 投稿への返信数、返信がない場合は空になります
主キー(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 "< li&gt; ";
    echo $ myrow_child [0;息子の投稿があることを示し、息子の投稿を表示し続けているif($ myrow_child [4]!= ''){
    showChildren($ 0]; //-- ------------------------------------------------ ---- -------------------

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

    $connect_id=mysql_connect("localhost","test","test") または die("データベースに接続できません");
    mysql_select_db( " bbs") または 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) ". ;n";
    echo $info;

    if($page>0) $pagestr="前のページ< ;";
    $pagestr=$pagestr . "
    ";
    }
    else{
    $pagestr= $pagestr . " " . ($i+1) . " ";
    }
    }

    $pagestr=$pagestr . "page]";

    if($page< ;$totalpage-1) $pagestr=$pagestr . "
    次のページ

    n";

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

    //アウトライン表示開始---------- ----- -------------------------------------- ---

    echo "

      n";
      for($i=$start;$i<$end;$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";
    //------------- -------------------------------------- ----------------?>



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