zoukankan      html  css  js  c++  java
  • 不遗留问题menu数据拼装

     1 DROP TABLE IF EXISTS `menu0910`;
     2 CREATE TABLE `menu0910` (
     3   `id` bigint(20) NOT NULL AUTO_INCREMENT,
     4   `menu` varchar(50) COLLATE utf8_unicode_ci DEFAULT '',
     5   `parentid` bigint(20) DEFAULT '0',
     6   PRIMARY KEY (`id`)
     7 ) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
     8 
     9 -- ----------------------------
    10 -- Records of menu0910
    11 -- ----------------------------
    12 INSERT INTO `menu0910` VALUES ('1', '1-1', '0');
    13 INSERT INTO `menu0910` VALUES ('2', '1-2', '0');
    14 INSERT INTO `menu0910` VALUES ('3', '1-3', '0');
    15 INSERT INTO `menu0910` VALUES ('4', '1-1-1', '1');
    16 INSERT INTO `menu0910` VALUES ('5', '1-1-2', '1');
    17 INSERT INTO `menu0910` VALUES ('6', '1-1-3', '1');
    18 INSERT INTO `menu0910` VALUES ('7', '1-2-1', '2');
    19 INSERT INTO `menu0910` VALUES ('8', '1-2-2', '2');
    20 INSERT INTO `menu0910` VALUES ('9', '1-2-3', '2');
    21 INSERT INTO `menu0910` VALUES ('10', '1-3-1', '3');
    22 INSERT INTO `menu0910` VALUES ('11', '1-3-2', '3');
    23 INSERT INTO `menu0910` VALUES ('12', '1-3-3', '3');
    24 INSERT INTO `menu0910` VALUES ('13', '1-1-1-1', '4');
    25 INSERT INTO `menu0910` VALUES ('14', '1-1-1-2', '4');
    26 INSERT INTO `menu0910` VALUES ('15', '1-1-1-3', '4');
    27 INSERT INTO `menu0910` VALUES ('16', '1-1-2-1', '5');
    28 INSERT INTO `menu0910` VALUES ('17', '1-1-2-2', '5');
    29 INSERT INTO `menu0910` VALUES ('18', '1-1-2-3', '5');
    30 INSERT INTO `menu0910` VALUES ('19', '1-1-3-1', '6');
    31 INSERT INTO `menu0910` VALUES ('20', '1-1-3-2', '6');
    32 INSERT INTO `menu0910` VALUES ('21', '1-1-3-3', '6');
    33 INSERT INTO `menu0910` VALUES ('22', '1-2-1-1', '7');
    34 INSERT INTO `menu0910` VALUES ('23', '1-2-1-2', '7');
    35 INSERT INTO `menu0910` VALUES ('24', '1-2-1-3', '7');
    36 INSERT INTO `menu0910` VALUES ('25', '1-2-2-1', '8');
    37 INSERT INTO `menu0910` VALUES ('26', '1-2-2-2', '8');
    38 INSERT INTO `menu0910` VALUES ('27', '1-2-2-3', '8');
    39 INSERT INTO `menu0910` VALUES ('28', '1-2-3-1', '9');
    40 INSERT INTO `menu0910` VALUES ('29', '1-2-3-2', '9');
    41 INSERT INTO `menu0910` VALUES ('30', '1-2-3-3', '9');
    42 INSERT INTO `menu0910` VALUES ('31', '1-3-1-1', '10');
    43 INSERT INTO `menu0910` VALUES ('32', '1-3-1-2', '10');
    44 INSERT INTO `menu0910` VALUES ('33', '1-3-1-3', '10');
    45 INSERT INTO `menu0910` VALUES ('34', '1-3-2-1', '11');
    46 INSERT INTO `menu0910` VALUES ('35', '1-3-2-2', '11');
    47 INSERT INTO `menu0910` VALUES ('36', '1-3-2-3', '11');
    48 INSERT INTO `menu0910` VALUES ('37', '1-3-3-1', '12');
    49 INSERT INTO `menu0910` VALUES ('38', '1-3-3-2', '12');
    50 INSERT INTO `menu0910` VALUES ('39', '1-3-3-3', '12');
    <?php
    $mysqli = new mysqli('localhost', 'root', '', 'w');
    
    if ($mysqli->connect_errno) {
        printf("Connect failed: %s\n", $mysqli->connect_error);
        exit();
    }
    
    $menulist = array();
    /* Select queries return a resultset */
    if ($result = $mysqli->query("SELECT * FROM menu0910")) {
        printf("Select returned %d rows.\n", $result->num_rows);
    
        /* free result set */
    
        while ($row = $result->fetch_assoc()) {
            $menulist[] = $row;
        }
    
        $result->close();
    }
    
    var_dump($menulist);
    
    //筛选出3级idlist->2级->1级
    $idlist_3 = array();
    $idlist_2 = array();
    $idlist_1 = array();
    $idlist_1_2_3 = array();
    $idlist_1_2 = array();
    foreach($menulist as $menu)
    {
        $idlist_1_2_3[] = $menu['id'];
    }
    var_dump($idlist_1_2_3);
    foreach($menulist as $menu)
    {
        if($menu['parentid']!=0)$idlist_1_2[] = $menu['parentid'];
    }
    $idlist_1_2=array_unique($idlist_1_2);
    var_dump($idlist_1_2);
    foreach($idlist_1_2_3 as $id)
    {
        if(!in_array($id,$idlist_1_2)) $idlist_3[] = $id;
    }
    var_dump($idlist_3);
    foreach($idlist_3 as $id)
    {
        $idlist_2[] = get_parentid($id);
    }
    $idlist_2=array_unique($idlist_2);
    var_dump($idlist_2);
    
    foreach($idlist_2 as $id)
    {
        $idlist_1[] = get_parentid($id);
    }
    $idlist_1=array_unique($idlist_1);
    var_dump($idlist_1);
    
    
    function get_parentid($id)
    {
        global $menulist;
        foreach($menulist as $one)
        {
            if($one['id']==$id) RETURN $one['parentid'];
        }
    }
    
    $res = array();
    foreach($idlist_1 as $one)
    {
        $res[] = $one;
    }
    var_dump($res);
    
    $w = 0;
    foreach($res as $id1)
    {
        $tmp = array();
        foreach($idlist_2 as $id2)
        {
           if(get_parentid($id2) == $id1)$tmp[]=$id2;
        }
        $res[]=$tmp;
    }
    var_dump($res);
  • 相关阅读:
    HTML5新增标签和属性
    HTML——表单标签
    HTML——表格标签
    js
    js
    js
    js
    js-02-2
    js
    selleck --手机端-- 销售打卡记录下载
  • 原文地址:https://www.cnblogs.com/rsapaper/p/5928385.html
Copyright © 2011-2022 走看看