ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルの無限分類プログラム コード

php_PHP チュートリアルの無限分類プログラム コード

WBOY
WBOYオリジナル
2016-07-13 16:56:09918ブラウズ

この記事は、php で実装された無限分類に関する著者によるオリジナルの記事です。詳しく知りたい方はご覧ください。

無限分類は、Windows で新しいフォルダーを作成するのと同じです。これは、無限ループに当てはまります。そのサブクラスは無限にループし続けます


     
     
   
   
     
     
   
   
     
     
   
 








//$sql = "select * from `class` order by sort asc, id Desc";
//$sql="pid=0 のクラスから * を選択";
//$result =mysql_query($sql);
 //while($row = mysql_fetch_array($result)){
  //$class_arr[] = array($row['id'],$row['name'],$row['classid'],$row['sort']);
    // echo $row['name'].$row['id'].'---'.$row['pid'].'
';
        ソートツリー(0);
 
  
 //}
 
関数ソートツリー($id){
 //if()
 $sql="select * from class where pid=".$id;
    $result =mysql_query($sql);
 //$a=mysql_fetch_array($result);
 //$row = mysql_fetch_array($result);
 while($row = mysql_fetch_array($result)){
    $rid=explode(",",$row['深さ']);
    $i=count($rid);
    $n = str_pad('',$i,'-',STR_PAD_RIGHT);
    $n = str_replace("-","    ",$n);
 //print_r($row).'
';
    if($row['pid']==0){
       echo $n.'|-----'.$row['name'].'-----|
';
    }その他{
       echo $n.'    |-'.$row['name'].'
';
       }
    sorttree($row['id']);
 }
}

関数 sort_s($id){
 //if()
 $sql="select * from class where pid=".$id;
    $result =mysql_query($sql);
 //$a=mysql_fetch_array($result);
 //$row = mysql_fetch_array($result);
 while($row = mysql_fetch_array($result)){
    $rid=explode(",",$row['深さ']);
    $i=count($rid);
    $n = str_pad('',$i,'-',STR_PAD_RIGHT);
    $n = str_replace("-","    ",$n);
 //print_r($row).'
';
    if($row['pid']==0){
        echo "rn";
    }その他{
        echo "

コードは次のとおりです コードをコピー

---
-- データベース: `ツリー`
--
データベース `tree` を作成します デフォルトの文字セット gb2312 照合 gb2312_chinese_ci;
「ツリー」を使用します;


---
-- テーブル構造`class`
--

テーブル`クラス`を作成します(
`id` int(11) NOT NULL auto_increment,
`name` varchar(10) NOT NULL,
`pid` int(11) NOT NULL,
`深さ` varchar(100) デフォルト '0',
主キー (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312 AUTO_INCREMENT=30 ;


$link =mysql_connect('localhost','root','root');
mysql_select_db('ツリー');
mysql_query ( 'セット名 GBK' );
if($_GET['act']=='add'){
   $name=$_POST['名前'];
   if($name=='') exit('name not null');
      $pid=$_POST['pid'];
          if($pid !=0){
             $sql="select * from class where id=".$pid;
             $result =mysql_query($sql);
             $row = mysql_fetch_array($result);
             $ Depth=$row['length'].','.mysql_insert_id();//$getID 即最後の一条记录の ID
          }その他{
             $深さ=0;
       }
    $sql="INSERT INTO class(name,pid, Depth) VALUES('".$name."','".$pid."','".$ Depth."')";
    $result =mysql_query($sql);
       if(!$result){
          exit("芝居$sql");
       }その他{
          exit("成宮");
    }
}
?>


  <表の幅="327" ボーダー="1" セルパディング="0" セルスペース="0">
   
名前
     
栏目
 

总结原則

どのように各分类一列出来呢を管理しますか?
まず最初に、このような 3 つの段階、新しい→ PHP 新しい→ PHP 6.0 を作成しました。 如果我们要查找“PHP6.0完成”この条新闻,我们先点击新闻,然后再点击PHP新闻

就可可出来了,也就是说我们可以通過祖父类一级地往下找,反过来我们只要

1 つの子クラスの父クラスを知っていれば、それを実行できます。

计一父类idの字段就可能实现無制限分类的機能了

http://www.bkjia.com/PHPjc/631632.html

tru​​ehttp://www.bkjia.com/PHPjc/631632.html技術記事この文章は、php で実現される無制限のクラスに関する作者の一文であり、必要に応じて、知っている友人が見ることができます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。