zoukankan      html  css  js  c++  java
  • PHP无限极分类

    数据库代码:

    mysql> desc category;
    +------------+-------------+------+-----+---------+----------------+
    | Field      | Type        | Null | Key | Default | Extra          |
    +------------+-------------+------+-----+---------+----------------+
    | id         | int(11)     | NO   | PRI | NULL    | auto_increment |
    | pid        | int(11)     | NO   |     | NULL    |                |
    | catename   | varchar(20) | NO   |     | NULL    |                |
    | createtime | varchar(10) | NO   |     | NULL    |                |
    +------------+-------------+------+-----+---------+----------------+
    4 rows in set (0.01 sec)
    
    mysql> select * from category;
    +----+-----+--------------+------------+
    | id | pid | catename     | createtime |
    +----+-----+--------------+------------+
    |  1 |   0 | beijing      | 1493778388 |
    |  2 |   0 | shanghai     | 1493778388 |
    |  3 |   1 | chaoyang     | 1493778476 |
    |  4 |   1 | haidian      | 1493778476 |
    |  5 |   3 | wangjing     | 1493778533 |
    |  6 |   3 | jiuxianqiao  | 1493778533 |
    |  7 |   4 | zhongguancun | 1493778575 |
    |  8 |   2 | xunhui       | 1493778633 |
    |  9 |   2 | changning    | 1493778633 |
    | 10 |   8 | jiaotong     | 1493778685 |
    +----+-----+--------------+------------+
    10 rows in set (0.00 sec)
    

    代码:

    conn.php:

    <?php
    $conn = mysql_connect('localhost', 'root', 'root');
    
    if($conn) {
        mysql_select_db("yii", $conn);
    } else {
        die('database is connect false.');
    }
    

    index.php:

    <?php
    include_once('conn.php');
    
    function get_str($id = 0) {
        global $str; 
    
        $sql = "select * from category where pid= $id";  
        $result = mysql_query($sql);
    
        if($result && mysql_affected_rows()){
            $str .=  PHP_EOL . '<ul>' . PHP_EOL; 
            while ($row = mysql_fetch_array($result)) {
                $str .= "<li>" . $row['id'] . "--" . $row['catename'] . "</li>" . PHP_EOL;
                get_str($row['id']);
            } 
            $str .= '</ul>' . PHP_EOL; 
        } 
    
        return $str; 
    } 
    
    
    function get_array($id=0){ 
        $sql = "select * from category where pid= $id"; 
        $result = mysql_query($sql);
        $arr = array(); 
        if($result && mysql_affected_rows()){
            while($rows=mysql_fetch_assoc($result)){
                $rows['list'] = get_array($rows['id']);
                $arr[] = $rows;
            } 
            return $arr; 
        } 
    } 
    
    echo get_str(0);
    
    echo "<hr/>";
    
    $list = get_array(0);
    echo '<pre>';
    print_r($list);
    echo '</pre>';
    

      

    结果:

    get_str:

    get_array:

    Array
    (
        [0] => Array
            (
                [id] => 1
                [pid] => 0
                [catename] => beijing
                [createtime] => 1493778388
                [list] => Array
                    (
                        [0] => Array
                            (
                                [id] => 3
                                [pid] => 1
                                [catename] => chaoyang
                                [createtime] => 1493778476
                                [list] => Array
                                    (
                                        [0] => Array
                                            (
                                                [id] => 5
                                                [pid] => 3
                                                [catename] => wangjing
                                                [createtime] => 1493778533
                                                [list] => 
                                            )
    
                                        [1] => Array
                                            (
                                                [id] => 6
                                                [pid] => 3
                                                [catename] => jiuxianqiao
                                                [createtime] => 1493778533
                                                [list] => 
                                            )
    
                                    )
    
                            )
    
                        [1] => Array
                            (
                                [id] => 4
                                [pid] => 1
                                [catename] => haidian
                                [createtime] => 1493778476
                                [list] => Array
                                    (
                                        [0] => Array
                                            (
                                                [id] => 7
                                                [pid] => 4
                                                [catename] => zhongguancun
                                                [createtime] => 1493778575
                                                [list] => 
                                            )
    
                                    )
    
                            )
    
                    )
    
            )
    
        [1] => Array
            (
                [id] => 2
                [pid] => 0
                [catename] => shanghai
                [createtime] => 1493778388
                [list] => Array
                    (
                        [0] => Array
                            (
                                [id] => 8
                                [pid] => 2
                                [catename] => xunhui
                                [createtime] => 1493778633
                                [list] => Array
                                    (
                                        [0] => Array
                                            (
                                                [id] => 10
                                                [pid] => 8
                                                [catename] => jiaotong
                                                [createtime] => 1493778685
                                                [list] => 
                                            )
    
                                    )
    
                            )
    
                        [1] => Array
                            (
                                [id] => 9
                                [pid] => 2
                                [catename] => changning
                                [createtime] => 1493778633
                                [list] => 
                            )
    
                    )
    
            )
    
    )
    

      

  • 相关阅读:
    拥抱函数式编程 I
    关于CMS的那点事 I
    常用正规表达式
    javascript source map 的使用
    架构师修炼 后记
    CSS 天坑 I
    架构师修炼 III
    架构师修炼 II
    win10,VM14 安装cnetos6.9 虚拟机黑屏和只有光标闪烁解决办法
    C/C++数组初始化
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/6803786.html
Copyright © 2011-2022 走看看