国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - thinkPHP實現的聯動菜單功能詳解

thinkPHP實現的聯動菜單功能詳解

2021-05-17 16:56許偉強 PHP教程

這篇文章主要介紹了thinkPHP實現的聯動菜單功能,結合實例形式分析了thinkPHP聯動菜單的實現步驟與具體操作技巧,需要的朋友可以參考下

本文實例講述了thinkphp實現的聯動菜單功能。分享給大家供大家參考,具體如下:

聯動菜單,首先給你看看前端是怎么寫的:

thinkPHP實現的聯動菜單功能詳解

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<div id="newcat">
  <div class="all_type" id="allgoogscat">所有商品分類</div>
  <div class="spfl-warp <?php if(controller_name != 'index' || action_name != 'index'){echo 'hide';} ?> ">
    <div class="index-spfl-left" id="divcatlist">
      <ul>
        <foreach name="category_menu" key="one" item="v">
        <li class="li{$one+1}">
          <span><em></em>
            <a href="{:u('category/index',array('id'=>$v['category_id'],'level'=>1))}" rel="external nofollow" >{$v.category_name}</a>
          </span>
          <div class="div none">
            <foreach name="v['childs']" key="two" item="v2">
              <dl>
                <dt>
                  <a href="{:u('category/index',array('id'=>$v2['category_id'],'level'=>2))}" rel="external nofollow" >{$v2.category_name}</a>
                </dt>
                <dd class="fl">
                  <foreach name="v2['childs']" item="v3">
                    <a href="{:u('category/index',array('id'=>$v3['category_id'],'level'=>3))}" rel="external nofollow" >
                      {$v3.category_name}
                    </a>
                  </foreach>
                </dd>
                <div class="cl"></div>
              </dl>
            </foreach>
          </div>
        </li>
      </foreach>
    </ul>
  </div>
  </div>
</div>
<script type="text/javascript">
<?php if(controller_name != 'index' || action_name != 'index'){ ?>
  //商品分類鼠標滑過
  function spflhover() {
    $(".index-spfl-left ul li").live("mouseover", function () {
      $(this).addclass("active").siblings().removeclass("active");
      $(".index-spfl-left").find(".div").hide();
      $(this).find(".div").show();
    }).live("mouseout", function () {
      $(this).removeclass("active");
      $(".index-spfl-left").find(".div").hide();
      $(this).find(".div").hide();
    });
    //鼠標滑過分類顯示
    $("#newcat").mouseover(function () {
      $(".spfl-warp").show();
    }).mouseout(function () {
      if ($("#ismain").val() == "1") {
        $(".spfl-warp").show();
      } else {
        $(".spfl-warp").hide();
      }
    })
  }
  spflhover();
<?php } ?>
</script>

看到沒有,其實里面的一級菜單對應二級菜單都是在同一個li里面的,li里面的二級三級呢,都是放在dl的dt和dd標簽里面;

然后現在我們看看取出來的category_menu,什么樣的數據:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
array
(
 [0] => array
  (
   [category_id] => 84
   [category_name] => 家裝主材
   [parent_id] => 0
   [listorder] => 200
   [display] => 1
   [childs] => array
    (
     [0] => array
      (
       [category_id] => 85
       [category_name] => 廚衛
       [parent_id] => 84
       [listorder] => 200
       [display] => 1
       [childs] => array
        (
         [0] => array
          (
           [category_id] => 99
           [category_name] => 廚盆/水槽
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [1] => array
          (
           [category_id] => 98
           [category_name] => 衛浴配件
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [2] => array
          (
           [category_id] => 97
           [category_name] => 衛浴龍頭
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [3] => array
          (
           [category_id] => 96
           [category_name] => 龍頭
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [4] => array
          (
           [category_id] => 95
           [category_name] => 淋浴房
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [5] => array
          (
           [category_id] => 94
           [category_name] => 智能坐便器
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [6] => array
          (
           [category_id] => 93
           [category_name] => 浴室柜
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [7] => array
          (
           [category_id] => 92
           [category_name] => 坐便器
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [8] => array
          (
           [category_id] => 91
           [category_name] => 浴霸
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [9] => array
          (
           [category_id] => 90
           [category_name] => 地漏
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [10] => array
          (
           [category_id] => 89
           [category_name] => 坐便器蓋板
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [11] => array
          (
           [category_id] => 88
           [category_name] => 洗面盆
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [12] => array
          (
           [category_id] => 87
           [category_name] => 角閥
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [13] => array
          (
           [category_id] => 100
           [category_name] => 衛浴五金
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [14] => array
          (
           [category_id] => 101
           [category_name] => 廚房掛件/配件
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [15] => array
          (
           [category_id] => 86
           [category_name] => 淋浴花灑
           [parent_id] => 85
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
        )
      )
     [1] => array
      (
       [category_id] => 126
       [category_name] => 墻紙
       [parent_id] => 84
       [listorder] => 200
       [display] => 1
       [childs] => array
        (
         [0] => array
          (
           [category_id] => 130
           [category_name] => 3d墻紙
           [parent_id] => 126
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [1] => array
          (
           [category_id] => 129
           [category_name] => 純紙墻紙
           [parent_id] => 126
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )
         [2] => array
          (
           [category_id] => 128
           [category_name] => pvc墻紙
           [parent_id] => 126
           [listorder] => 200
           [display] => 1
           [childs] => array
            (
            )
          )

然后,數據表是怎么樣的數據呢:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
array
(
  [0] => array
    (
      [category_id] => 211
      [category_name] => 鞋柜
      [parent_id] => 31
      [listorder] => 200
      [display] => 1
    )
  [1] => array
    (
      [category_id] => 194
      [category_name] => 相框/照片墻
      [parent_id] => 189
      [listorder] => 200
      [display] => 1
    )
  [2] => array
    (
      [category_id] => 193
      [category_name] => 簾藝隔斷
      [parent_id] => 189
      [listorder] => 200
      [display] => 1
    )
  [3] => array
    (
      [category_id] => 192
      [category_name] => 沙發墊套/椅墊
      [parent_id] => 189
      [listorder] => 200
      [display] => 1
    )
  [4] => array
    (
      [category_id] => 191
      [category_name] => 地毯地墊
      [parent_id] => 189
      [listorder] => 200
      [display] => 1
    )
  [5] => array
    (
      [category_id] => 190
      [category_name] => 桌布/罩件
      [parent_id] => 189
      [listorder] => 200
      [display] => 1
    )

數據表數據是醬紫的;

然后,你能寫出那個處理數組的方法嗎,給你原數據,然后你用迭代處理成你想要的數據,不用太多,6行代碼左右,你ok?

代碼拷貝多了,人也就變傻了,知不知道???

?
1
2
3
4
5
6
7
8
9
10
11
12
13
//把欄目分組,以多維數組形式
public function group_category($id = 0)
{
    $list=$this->where('display = 1')->order('listorder asc')->select();
    $tmp = array();
    foreach($list as $v){
      if($v['parent_id'] == $id){
        $v['childs'] = $this->group_category($v['category_id']);
        $tmp[] = $v;
      }
    }
    return $tmp;
}

為什么不把sql語句放在外面作為參數傳遞進去函數groud_category函數呢?這樣就不用老是查數據庫啊。

無非也就是將父id為0開始查詢,然后對其子欄目的id在做為父id進行查詢,查詢出屬于其id的子欄目

希望本文所述對大家基于thinkphp框架的php程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品久久久av | 在线免费观看av电影 | 四虎成人免费电影 | 中文字幕视频免费 | 91在线影院 | www国产在线观看 | 中文字幕在线观看一区二区三区 | 亚洲福利一区 | 91精品视频免费在线观看 | 在线免费观看黄色 | 日韩婷婷| 精品国产髙清在线看国产毛片 | 欧美另类久久 | 欧美大片高清在线观看平台 | 久久久久久久久久久免费视频 | 成人乱人乱一区二区三区 | 久久精品国产一区二区电影 | 激情一区 | 国产一区在线不卡 | 日韩av免费在线 | 久久美女视频 | 久久手机视频 | 婷婷久久五月天 | 黑人中文字幕一区二区三区 | 狠狠操狠狠干 | 三级在线观看网站 | 日韩精品一区二区三区中文字幕 | 日韩精品一区二区三区在线播放 | 亚洲免费在线观看 | 成人免费网站在线观看 | 九九热精品视频在线免费观看 | 亚洲免费在线观看 | 午夜久久久 | 欧美精品不卡 | 久在线视频 | 天天天干夜夜夜操 | 久草中文在线 | 亚洲一区二区三区免费 | 国产一区二区影院 | 欧美日韩视频在线第一区 | 香蕉久久久|